Bash 输出的脚本用法

Bash 输出的脚本用法,bash,awk,sed,Bash,Awk,Sed,我有230个目录(*\t),我需要在所有目录中grep report.rt文件中的“未看到的问题”。 我试过这个: grep -r "Unseen Issues" *_t/A_*/ar.rt 我在pf_t,pu_t,pv_t,pz_t是目录的地方得到了这个: pf_t/A_output/ar.rt:Number of Unseen Issues = 3 pf_t/A_output/ar.rt:adsd1p2r 50 Unsee

我有230个目录(*\t),我需要在所有目录中grep report.rt文件中的“未看到的问题”。 我试过这个:

grep -r "Unseen Issues" *_t/A_*/ar.rt 
我在pf_t,pu_t,pv_t,pz_t是目录的地方得到了这个:

pf_t/A_output/ar.rt:Number of Unseen Issues      = 3
pf_t/A_output/ar.rt:adsd1p2r                50              Unseen Issues ( 1 )
pf_t/A_output/ar.rt:edsd1p2r                50              Unseen Issues ( 1 )
pf_t/A_output/ar.rt:wdsd1p2r                50              Unseen Issues ( 1 )
pu_t/A_output/ar.rt:Number of Unseen Issues      = 0
pv_t/A_output/ar.rt:Number of Unseen Issues      = 0
pz_t/A_output/ar.rt:Number of Unseen Issues      = 0
但我需要以下方式的输出:

pf_t
Number of Unseen Issues      = 3
adsd1p2r                50              Unseen Issues ( 1 )
edsd1p2r                50              Unseen Issues ( 1 )
wdsd1p2r                50              Unseen Issues ( 1 )

pu_t
Number of Unseen Issues      = 0

pv_t
Number of Unseen Issues      = 0

pz_t
Number of Unseen Issues      = 0
任何人都可以帮助我使用任何小脚本来获得上面使用grep命令的输出


我们可以使用任何脚本,任何人都可以帮助我。

如果中间文本文件
test1.txt
很重要,我建议使用AWK。否则,shell循环很简单:

for d in *_t; do
    echo "$d"
    grep -h "Unseen Issues" $d/A_*/ar.rt
    echo ""
done
添加了测试用例并从命令行运行脚本:

$ find * -type f
pf_t/A_output/ar.rt
pu_t/A_output/ar.rt
pv_t/A_output/ar.rt
pz_t/A_output/ar.rt


$ for d in *_t; do echo "$d"; grep -h "Unseen Issues" $d/A_*/ar.rt; echo ""; done
pf_t
Number of Unseen Issues      = 3
adsd1p2r                50              Unseen Issues ( 1 )
edsd1p2r                50              Unseen Issues ( 1 )
wdsd1p2r                50              Unseen Issues ( 1 )

pu_t
Number of Unseen Issues      = 0

pv_t
Number of Unseen Issues      = 0

pz_t
Number of Unseen Issues      = 0

请指定答案是否只能是
bash
,或者它是否可以使用其他UTIL,如
sed
,或者
awk
@agc我们可以使用的任何东西。
cat$d/A\u*/ar.rt | grep“未看到的问题”
=
grep-h“未看到的问题”$d)/A\u*/ar.rt
。看见