【发布时间】:2012-10-06 19:51:43
【问题描述】:
我需要选择例如:
- 第 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.
【问题讨论】:
我需要选择例如:
特定文件并将结果放在另一个文件中。
这是我迄今为止尝试过的:
sed -n -e '7p' -e '8p' -e '11p' Old_File | awk '{printf("%s %s %s\n", $2, $3, $1);}' > New_File.
【问题讨论】:
单独使用 awk 就可以完成:
awk 'NR==7{print $2} NR==8{print $3} NR==11{print $1, $3}' Old_file > New_file
【讨论】:
NR=8 中有错字。就像它会打印每一行的第三个字段。 NR==8 更好。
Awk 足以胜任该任务:
awk '
FNR == 7 { print $2; next; }
FNR == 8 { print $3; next; }
FNR == 11 { print $1, $3; exit; }
' input-file
【讨论】: