在linux中批量移动文件并在其所在目录中创建链接
我正在尝试将数百个文件从一个目录移动到另一个目录,但在执行此操作时在旧目录中创建软链接。是否有一个单行命令可以做到这一点在linux中批量移动文件并在其所在目录中创建链接,linux,find,mv,ln,Linux,Find,Mv,Ln,我正在尝试将数百个文件从一个目录移动到另一个目录,但在执行此操作时在旧目录中创建软链接。是否有一个单行命令可以做到这一点 /dir1 file1.txt file2.txt . . . file100.txt 移动到dir2并在dir1中创建到它们的软链接 我目前正在单独做这件事,但希望找到一个单行命令,如果可能的话 cd-dir1 mv*.txt/dir2 ln-s/dir2/*.txt. 我尝试使用find,但也不起作用 没有单行命令。使用shell脚本非常简单。例如,在tcsh中: % c
/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
(确认正确后,移除回声。)
Bash与此类似,只是语法略有不同
如果文件名或路径包含空格,则这会稍微复杂一些,但仍然非常简单。(:q在tcsh中,使用“”等)