我有一个巨大的文件(~2000000 行),我试图替换几个不同的模式,而我只读取一次文件。
所以我猜 sed 不好,因为我有不同的模式我尝试将 awk 与 if else 一起使用,但文件没有改变
#!/usr/bin/awk -f
{
if($0 ~ /data for AAA/)
{
sub(/^[0-9]+$/, "bla_AAA", $2)
}
if($0 ~ /data for BBB/)
{
sub(/^[0-9]+$/, "bla_BBB", $2)
}
}
我期望的输出
address 01000 data for AAA
....
address 02000 data for BBB
....
成为
address bla_AAA data for AAA
....
address bla_BBB data for BBB
....