Ubuntu Grep子目录并保存多个输出

Ubuntu Grep子目录并保存多个输出,ubuntu,unix,grep,Ubuntu,Unix,Grep,我有32个目录,每个目录有一个.pdb文件。如何在这些文件上使用grep并将每个文件保存到特定输出 预期输出类似于: 1.pdb > 1_clean.pdb 2.pdb > 2_clean.pdb 3.pdb > 3_clean.pdb ... 32.pdb > 32_clean.pdb 我尝试了以下方法,但无效: grep -r "^ATOM" *.pdb . > *_clean.pdb 查找+外壳解决方案: find -type f -name "[0-9]

我有32个目录,每个目录有一个.pdb文件。如何在这些文件上使用grep并将每个文件保存到特定输出

预期输出类似于:

1.pdb > 1_clean.pdb
2.pdb > 2_clean.pdb
3.pdb > 3_clean.pdb
...
32.pdb > 32_clean.pdb
我尝试了以下方法,但无效:

grep -r "^ATOM" *.pdb . > *_clean.pdb

查找+外壳解决方案:

find -type f -name "[0-9].pdb" -exec sh -c 'fn=$1; n=${fn##*/}; n=${n%.*}; \
      grep "^ATOM" "$fn" > "${n}_clean.pdb"' _ {} \;