0

我想在大 csv 文件的第一列中使用外壳命令。

我知道我需要类似的东西

big.csv shell_commands big.csv

但我不知道 awk 或 sed

4

4 回答 4

0
awk 'BEGIN{ r["GG"] = "GGX"; r["FG"] = "FGX" } 
    { for( k in r ) if( gsub( k, r[k], $1 ) break } 1' input-file

休息是为了防止多次替换。

于 2013-01-23T19:37:19.930 回答
0

试试这个(假设你有一次出现的字符串)

awk '{sub("GG","GGX",$0); sub("FG","FGX",$0); print}' temp.txt

于 2013-01-24T06:26:30.127 回答
0

这个怎么样?

sed -i "s/^\(..\),/\1X,/" big.csv

或者如果你有一些空间:

sed -i "s/^\([^ ][^ ][ ]*\),/\1X,/" big.csv
于 2013-01-24T13:25:50.777 回答
0

使用 sed,用“GGX”替换所有“GG”实例big.csv如下所示:

sed 's/^GG/GGX/g' big.csv >big_translated.csv

如果需要替换多个模式,可以在 sed 中使用多个替换命令,用分号隔开。

sed 's/^GG/GGX/g; s/^FG/FGX/g' big.csv >big_translated.csv

^字符表示行首,并确保我们只编辑 csv 的第一个字段。

于 2013-01-23T15:58:36.757 回答