gpt4 book ai didi

linux - 防止空间使用反引号分割文件名

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:53 24 4
gpt4 key购买 nike

使用 find 选择文件以使用反引号/反引号传递给另一个命令,我注意到包含空格的文件名将被拆分,因此找不到。

是否可以避免这种行为?我发出的命令看起来像这样

wc `find . -name '*.txt'`

但是例如,当目录 x 中有一个名为 a b c.txt 的文件时,它会报告

$ wc `find . -name '*.txt'`
wc: ./x/a: No such file or directory
wc: b: No such file or directory
wc: c.txt: No such file or directory

当与多个文件一起使用时,wc 将显示每个文件的输出,以及包含所有文件总数的最终摘要行。这就是为什么我要执行 wc 一次。

我尝试用 sed 转义空格,但 wc 产生相同的输出(用空格分割文件名)。

wc `find . -name '*.txt' | sed 's/ /\\\ /pg'`

最佳答案

使用-print0选项来find,并使用相应的-0选项来xargs:

find . -name '*.txt' -print0 | xargs -0 wc

您还可以使用 -exec 选项来查找:

find . -name '*.txt' -exec wc {} +

关于linux - 防止空间使用反引号分割文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30579964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com