我正在编写一个脚本,它将一个文件名作为参数,在每行的开头找到一个单词 - 在这种情况下,单词ATOM - 并打印特定列中的值。用Awk或Cut打印列?
$FILE=*.pdb *
if test $# -lt 1
then
echo "usage: $0 Enter a .PDB filename"
exit
fi
if test -r $FILE
then
grep ^ATOM $FILE | awk '{ print $18 }' | awk '{ print NR $4, "\t" $38,}'
else
echo "usage: $FILE must be readable"
exit
fi
我有麻烦搞清楚三个问题:
- 如何用awk打印只包含原子作为第一个字线
- 如何使用awk来只打印某些列从符合上述标准的行中,具体是第2-20列和第38-40列
- 我该如何指出这必须是一个pdb文件? * .PDB *
这真棒!谢谢ghostdog。 – Koala 2010-10-16 17:46:13