读取每一行的数据,然后判断最后一列的数据是否在200-300之间,如果是,将其修改为YES,否则,将其修改为No,并将其写回源文件
root@localhost:~/xly/02# cat 1
asd 100
dsa 200
zxc 250
qwe 300
root@localhost:~/xly/02# cat 1 |awk '{if(200<$NF && $NF<300){$NF="YES";print $0}else{$NF="NO";print $0}}' >newfile
root@localhost:~/xly/02# cat newfile
asd NO
dsa NO
zxc YES
qwe NO
最后覆盖回源文件,因为程序在运行,原文件是读在内存里的,修改无效
最后cp newfile 源文件就可以了
asd 100
dsa 200
zxc 250
qwe 300
root@localhost:~/xly/02# cat 1 |awk '{if(200<$NF && $NF<300){$NF="YES";print $0}else{$NF="NO";print $0}}' >newfile
root@localhost:~/xly/02# cat newfile
asd NO
dsa NO
zxc YES
qwe NO
最后覆盖回源文件,因为程序在运行,原文件是读在内存里的,修改无效
最后cp newfile 源文件就可以了
温馨提示:答案为网友推荐,仅供参考