Linux
包含空格的 grepped 文件的 xargs 問題
我有一系列 .html 文件,它們之間都包含空格。
我需要的是使用 find 和 grep 來定位文件,如果找到匹配項,基本上我只希望 xargs 使用 less 在查看模式下打開它。沒有什麼花哨。
這是我嘗試過的
pietro@scum:~/Downloads$ find |grep 'Register\sfor\srehousing.html' |xargs -trE less echo ./Register for rehousing.html ./Register for rehousing.html pietro@scum:~/Downloads$ find |grep 'Register\sfor\srehousing.html' |xargs -0 less ./Register for rehousing.html : No such file or directory
我已經瀏覽了 xargs 人,但我只是不明白為什麼 xargs 沒有將文件名 + PATH 拾取到文件並執行 less 命令。
該文件確實存在,這是它的外觀
pietro@scum:~/Downloads$ ls -l |grep 'Register\sfor\srehousing.html' -rw-rw-r-- 1 pietro pietro 764611 Mar 14 14:44 Register for rehousing.html
嘗試:
xargs -d '\n' less
xargs 的輸入,在您的情況下不是空字元終止
不需要管道,
find
僅使用 with-name
而不是grep
和-exec
而不是xargs
:find . -name 'Register for rehousing.html' -exec less {} \;