Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试将数百个文件从一个目录移动到另一个目录,但同时在旧目录中创建一个软链接。有没有可以做到这一点的单行命令?
/dir1 file1.txt file2.txt . . . file100.txt
移动到 dir2 并在 dir1 中创建指向它们的软链接。
我目前正在单独执行此操作,但希望尽可能找到单行命令。
cd dir1 mv *.txt /dir2 ln -s /dir2/*.txt .
我尝试使用find,但这也不起作用。
find
没有单行命令。使用 shell 脚本编写非常简单。例如,在 tcsh 中:
% cd dir1 % foreach FILETOMOVE ( file*.txt ) echo mv -iv $FILETOMOVE /dir2 echo ln -s /dir2/$FILETOMOVE . end
(一旦你确定你做对了,就删除echo 。)
Bash 类似,只是语法略有不同。
如果文件名或路径包含空格,这会稍微复杂一些,但仍然很简单。(:q 在 tcsh 中,使用 "" 等)