【问题标题】:Move files in bulk and create links in their place in the directory in linux批量移动文件并在linux目录中的位置创建链接
【发布时间】:2015-11-23 20:14:41
【问题描述】:

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

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

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

我目前正在单独执行此操作,但希望尽可能找到单行命令。

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

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

【问题讨论】:

    标签: linux find mv ln


    【解决方案1】:

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

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

    (一旦你确定你做对了,就把 echo 去掉。)

    Bash 类似,只是语法略有不同。

    如果文件名或路径包含空格,这会稍微复杂一些,但仍然很简单。 (:q in tcsh, 使用 "" 等)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-07
      • 2021-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多