shell循环遍历文件行并替换每一行

时间:2015-05-25 13:48:25

标签: shell

我是shell脚本的新手,但是情况如下: 我有一个包含以下内容的文本文件:

int1, operationName1
int2, operationName2
int3, operationName3

简而言之,该文件包含一些操作(operationNameX)和执行每个操作的剩余天数(intX)。

我想编写一个每天执行一次的脚本,并从每个int中删除1。例如,如果“test.txt”包含:

2, operation1
4, operation2
3, operation3

执行脚本后,它将包含:

1, operation1
3, operation2
2, operation3

我该怎么办?

1 个答案:

答案 0 :(得分:1)

你可以试试Awk。对于这种事情来说,它非常强大和完美:

awk -F, '//{VAL=$1; print (VAL-1)", "$2}' test.txt

这会将字段分隔符设置为逗号(默认为空格),将第一个元素(整数)分配给名为VAL的变量,然后输出VAL-1,后跟逗号,空格和原始第二列