【发布时间】:2021-12-31 19:42:48
【问题描述】:
我有以下名为 stack1.txt 的文件:
Date Item Amount
2020-01-23 Petrol -160
2020-03-24 Electricity -200
2020-04-24 Electricity -200
2020-05-30 Trim line -50
2021-03-11 Martha Burns 150
2021-03-14 Highbury shops 300
我在 $1 处创建了一个我希望填充的空列,因此 $4 列中的负数在 $1 列中得到一个“c”,例如
Date Item Amount
c 2020-01-23 Petrol -160
c 2020-03-24 Electricity -200
c 2020-04-24 Electricity -200
c 2020-05-30 Trim line -50
2021-03-11 Martha Burns 150
2021-03-14 Highbury shops 300
我尝试了以下命令:
awk -F '\t' '$4 < 0 {print $1}' stack1.txt | xargs -r sed -i 's//c/g'
如果我cat stack1.txt 我仍然得到一个未更改的表,如上。最初我使用不带 -r 的 xargs 并得到sed: no input files。 -r 删除了这个。我也试过's/""/c/g'。我正在尝试将更改后的输出保存回 stack1.txt 因此sed -i。然而,我不知道为什么这不起作用。感谢您对此的帮助。
【问题讨论】:
-
我的字段分隔符是一个标签。