unix 如果使用sed bash满足条件,则第二列中的Concat字符串

brtdzjyr  于 2023-04-20  发布在  Unix
关注(0)|答案(2)|浏览(104)

Csv文件

A,12345,hello
B,67890,hi
A,123456,yo

预期输出:如果第一列为A,则应在第二列末尾添加2个零

A,1234500,hello
B,67890,hi
A,12345600,yo

我试过用这个
sed“s/,/00,/2”文件
但我没有条件
谢谢

ni65a41a

ni65a41a1#

下面是一个更好的awk用例:

$ awk '
    BEGIN{FS=OFS=","}
    $1=="A"{$2=$2"00"}
    1 # aka print
' file
A,1234500,hello
B,67890,hi
A,12345600,yo

你不觉得它比sed更易读和更易维护吗?
如果你有sed,你也应该有awk

fnx2tebb

fnx2tebb2#

两个sed一行程序:

sed '/^A,/s/,/00,/2' file.csv

s命令之前的/^A,/选择以A,开头的行。
或者,

sed 's/^A,[^,]*/&00/' file.csv

相关问题