并提前感谢您的任何建议。
我正在研究一个脚本,该脚本会自动对下载内容进行排序。该脚本非常简单,手动运行具有预期的效果。我遇到的问题是旨在触发脚本的fswatch命令-我无法正确地将回声的输出通过管道传递到xargs。这是命令:
fswatch --event Created Downloads/ | (while read x; do echo $x | xargs -0 bash ./dlsort.sh; done)
和脚本:
if (echo "$1" | grep -q '\.jpg$'); then
mv "$1" Desktop/images/ &
else
mv "$1" Downloads/other/ &
fi
我已经确定了问题所在,但我不知道如何解决。在文件名的末尾添加了换行符,这将导致mv命令失败,并在脚本中出现“无此类文件或目录”错误。我已经在echo和fswatch命令中尝试了很多变体,但是没有尝试过。
再次感谢任何可以提供帮助的人
找出了这个特定问题的好答案:
使用fswatch选项--format =“%p%0”。这样可以确保将空字符放在传递给xargs的路径名的末尾,这就是在启用-0选项的情况下要查找的内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句