如何使用XARG从我的HTML文件创建软链接



问题是我有一个装满HTML文件的目录。但是,当我在Firefox中打开文件夹时,很难导航,因为当我打开文件夹时,也都有所有相关的HTML文件夹。

我使用仅HTML的ln -s对单独的查看目录进行了测试,并对其进行了测试并起作用。

现在,我的问题是试图在数百个文件中设置这些ln -s,但我无法弄清楚如何做到这一点。我认为最好的方法是在ls输出上使用xargs,但我似乎无法使语法工作。

我相信我的问题是我需要将两组参数解析为ln -s,但我无法使其工作

我尝试了以下许多不同的变体,但无法使语法工作。我还尝试使用gnu并行使用GNU,但似乎仍然无法正确处理语法。

ls Downloads (filenames) | grep html | xargs ln -s ~Downloads(filenames) ~ViewingDirectory(filename)

任何帮助将不胜感激。谢谢。

您误解了XARGS的使用。您可以解析ls的输出,这通常被认为是一个坏主意。

更好的解决方案是:

for f in ~Downloads*.html ; do
    b=$(basename "$f")
    ln -s "$f"  ~ViewingDirectory"$b"
done

如果您坚持使用xargs,则可以按照以下方式进行:

find ~/Downloads/ -type f -name '*.html' 
    | xargs -I@ sh -c 'ln -s @ ~/ViewingDirectory/"$(basename @)"'

现在,使用xargs,您可以使用-P标志并行运行ln呼叫:

find ~/Downloads/ -type f -name '*.html' 
    | xargs -P"$(nproc)" -I@ sh -c 'ln -s @ ~/ViewingDirectory/"$(basename @)"'

nproc返回可用的处理单元的数量。

最新更新