gpt4 book ai didi

linux - 使用输入和多个管道循环 Linux 命令

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

此命令有效,但我希望它在每个子目录中的每个文档 (input.txt) 上运行它。

tr -d '\n' < input.txt | awk '{gsub(/\. /,".\n");print}' | grep “\[" >> SingleOutput.txt

代码获取文件输入并将其分成带有新行的句子。然后它找到所有包含“[”的句子并将句子输出到单个文件。我尝试了几种使用 find 和 for 循环的循环技术,但无法让它在本示例中运行。我试过了

for dir in ./*; do 
(cd "$dir" && tr -d '\n' < $dir | awk '{gsub(/\. /,".\n");print}' | grep “\[" >> /home/dan/SingleOutput.txt);
done;

还有

find ./ -execdir tr -d '\n' < . | awk '{gsub(/\. /,".\n");print}' | grep "\[" >> /home/dan/SingleOutput.txt;

但是他们并没有执行,只是给了我>分。有什么想法吗?

最佳答案

试试这个:

cd $dir
find ./ | grep "input.txt$" | while read file; do tr -d '\n' < $file | awk '{gsub(/\. /,".\n");print}' | grep “\[" >> SingleOutput.txt; done

这将找到 $dir 下所有名为 input.txt 的文件,它将执行您所说的已经在工作的操作,将输出发送到 $dir/SingleOutput.txt。

关于linux - 使用输入和多个管道循环 Linux 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23691343/

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