繁体   English   中英

批量移动文件并在Linux目录中的位置处创建链接

[英]Move files in bulk and create links in their place in the directory in linux

我试图将数百个文件从一个目录移动到另一个目录,但同时在旧目录中创建一个软链接。 有没有一行命令可以做到这一点?

/dir1 file1.txt file2.txt . . . file100.txt

移动到dir2并在dir1中创建到它们的软链接。

我目前正在单独进行此操作,但希望在可能的情况下找到单行命令。

cd dir1 mv *.txt /dir2 ln -s /dir2/*.txt .

我尝试使用find但这也不起作用。

没有单行命令。 使用shell脚本非常简单。 例如,在tcsh中:

% cd dir1
% foreach FILETOMOVE ( file*.txt )
     echo mv -iv $FILETOMOVE /dir2
     echo ln -s /dir2/$FILETOMOVE .
     end

(一旦确定正确,请删除echo 。)

Bash相似,语法略有不同。

如果文件名或路径包含空格,则稍微复杂一些,但仍然非常简单。 (tcsh中的:q,使用“”等。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM