假设您打开了由ls -Q
和grep
$ mkdir "example 1"
$ mkdir "example 2"
$ ls -Q | grep example | xargs -t nautilus
然后选项-t
显示nautilus example 1 example 2
,不带引号。但是,文件夹已正确打开。
$ ls -Q | grep example | xargs -t echo
echo example 1 example 2
example 1 example 2
为了完全完整,让我展示xargs
的输入:
$ ls -Q | grep example
"example 1"
"example 2"
所以那里的引号......
这里发生了什么?报价在哪里?
答案 0 :(得分:2)
xargs
认为引号和反斜杠是特殊的。如果你想要它发出引号,你需要逃避它们。将grep
输出传递给sed
以转义引号:
$ ls -Q | grep example | sed 's/"/\\"/g' | xargs echo
"example 1" "example 2"