如何选择特定的行和列

时间:2012-10-16 16:33:15

标签: linux shell sed awk cut

我需要选择例如:

  • 第7行第2列。
  • 第8行第3列。
  • 第11行的第1列和第3列。

特定文件并将结果放在另一个文件中。

这是我到目前为止所尝试的:

sed -n -e '7p' -e '8p' -e '11p' Old_File | awk '{printf("%s %s %s\n", $2, $3, $1);}' > New_File. 

2 个答案:

答案 0 :(得分:2)

Awk足以胜任该任务:

awk '
    FNR == 7 { print $2; next; }
    FNR == 8 { print $3; next; }
    FNR == 11 { print $1, $3; exit; }
' input-file

答案 1 :(得分:2)

单独使用Awk可以完成它:

awk 'NR==7{print $2} NR==8{print $3} NR==11{print $1, $3}' Old_file > New_file