问题是我的目录充满了html文件。但是,当我在Firefox中打开该文件夹时,很难导航,因为当我打开该文件夹时,还存在所有关联的html文件夹。
我仅使用html的ln -s
到单独的查看目录进行了测试,并对其进行了测试。
现在,我的问题是尝试在数百个文件中设置这些ln -s
,但我不知道该怎么做。我认为最好的方法是在xargs
输出上使用ls
,但似乎无法使语法正常工作。
我认为我的问题是我需要解析ln -s
的两组参数,但是我无法使其工作
我尝试了下面的许多不同变体,但是无法使用语法。我也尝试过使用gnu parallel,但似乎仍然无法正确使用语法。
ls Downloads (filenames) | grep html | xargs ln -s ~\Downloads\(filenames) ~\ViewingDirectory\(filename)
任何帮助将不胜感激。谢谢。
答案 0 :(得分:1)
您误解了xargs的用法。然后您解析ls
的输出,通常认为这是个坏主意。
更好的解决方案是:
for f in ~\Downloads\*.html ; do
b=$(basename "$f")
ln -s "$f" ~\ViewingDirectory\"$b"
done
答案 1 :(得分:0)
如果您坚持使用xargs
,则可以按照以下方式进行操作:
find ~/Downloads/ -type f -name '*.html' \
| xargs -I@ sh -c 'ln -s @ ~/ViewingDirectory/"$(basename @)"'
现在,使用xargs
,您可以使用ln
标志来并行运行-P
调用:
find ~/Downloads/ -type f -name '*.html' \
| xargs -P"$(nproc)" -I@ sh -c 'ln -s @ ~/ViewingDirectory/"$(basename @)"'
其中nproc
返回可用的处理单元数。