gpt4 book ai didi

bash - 管道回显时抑制输出到 StdOut

转载 作者:行者123 更新时间:2023-11-29 09:38:38 25 4
gpt4 key购买 nike

我正在制作一个 bash 脚本,它在一个目录中爬行并将某种类型的所有文件输出到一个文本文件中。我已经开始工作了,它也只是写了一堆我不想要的输出到控制台(文件名)

到目前为止,这是相关代码,tmpFile 是我正在写入的文件:

for DIR in `find . -type d` # Find problem directories
do
for FILE in `ls "$DIR"` # Loop through problems in directory
do
if [[ `echo ${FILE} | grep -e prob[0-9]*_` ]]; then
`echo ${FILE} >> ${tmpFile}`
fi
done
done

我放入文本文件的文件采用正则表达式 prob[0-9]*_ 描述的格式(类似于 prob12345_01)

在我将 echo ${FILE} 的输出通过管道传输到 grep 的地方,它仍然输出到 stdout,这是我想避免的。我认为这是一个简单的修复,但它正在逃避我。

最佳答案

所有这些都可以在一个查找命令中完成。考虑一下:

find . -type f -name "prob[0-9]*_*" -exec echo {} >> ${tmpFile} \;

编辑:

更简单:(感谢@GlennJackman)

find . -type f -name "prob[0-9]*_*" >> $tmpFile

关于bash - 管道回显时抑制输出到 StdOut,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10304594/

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