Linux如何在将文件传递给tar之前在文件周围放置双引号?

Obe*_*ane 4 linux shell pipe tar

我使用ls来获取具有空白区域的文件名,因此它看起来像:

my file with whitespace.tar.bz2

我想把它管道到tar类似于:

ls | grep mysearchstring | tar xvjf
Run Code Online (Sandbox Code Playgroud)

如何在将它用于tar之前插入双引号?

Zan*_*ynx 7

一个很好的工具是find和xargs.例如,您可以使用:

find . -name '*.tar.bz2' -print0 | xargs -0 -n1 tar xjf
Run Code Online (Sandbox Code Playgroud)

正如pixelbeat建议您也可以像这样使用shell:

for archive in *.tar.bz2; do tar xvjf "$archive"; done
Run Code Online (Sandbox Code Playgroud)