【发布时间】:2014-10-10 12:13:06
【问题描述】:
因此,我使用 wc -l 处理了声明变量的文件的最后 100 条记录,但我很难让 awk 的子部分执行我想要的操作。
下面的文字只是一个例子,但它确实帮助我理解了整个表格的要点
gold 1 1986 USA American Eagle
gold 1 1908 Austria-Hungary Franz Josef 100 Korona
silver 10 1981 USA ingot
gold 1 1984 Switzerland ingot
gold 1 1979 RSA Krugerrand
gold 0.5 1981 RSA Krugerrand
gold 0.1 1986 PRC Panda
silver 1 1986 USA Liberty dollar
gold 0.25 1986 USA Liberty 5-dollar piece
让我们将此文件称为硬币并假设有超过 400 条记录
awk -v v1=$(wc -l < coins) 'NR > v1-100 {gsub /gold/magic/; print}' coins
这对我来说真的不起作用,如果我想打印第一个字段,它会起作用,但我似乎无法绕过指定记录数然后处理它们。我想知道如何继续替换字符串,如果需要,在用 awk 替换字符串后打印处理过的文本中的字段并打印整个文件,包括已替换的记录
【问题讨论】: