【发布时间】:2016-02-09 06:01:10
【问题描述】:
我有一组 CSV 文件,我希望在每行末尾添加一个字段。
第一个字段是一个 ID,一些十位数字:
id,2nd_field,...,last_field
1234567890,Smith,...,Arkansas
1234567891,Jones,...,California
1234567892,White,...,
我想在末尾添加另一个字段,该字段的值基于 ID 的模 3 (id % 3):
id,2nd_field,...,last_field,added_field
1234567890,Smith,...,Arkansas,x
1234567891,Jones,...,California,y
1234567892,White,...,,z
请注意 last_field 可能为空或空白。
如何使用 sed 或 awk 做到这一点?我是使用这些工具的新手,请为您的脚本提供一些解释。谢谢。
【问题讨论】:
-
到目前为止你有什么?烦人的重复问题
-
@Cyrus 已经看到了链接。这是它应该看起来的样子(也许)
sed 's/$/,/' input.csv > output.csv,但不知道如何引用第一个字段并进行模运算。 -
@anubhava 我们只是说,
$1 % 3 == 0我们得到 x,$1 % 3 == 1我们得到 y,$1 % 3 == 2我们得到 z。