日期:2014-05-16  浏览次数:20908 次

linux下如何将文件的某一列的值进行批量更改或单个更改?
如题。比如:(单词间是以空格隔开)
 hello hello hello
 hi hi hi  
 h h h
此时,将第三列的值(红色部分)分别改为1 2 3 或者 全为 1 1 1




------解决方案--------------------
[root@RHEL6A tmp]# cat data5.txt 
 hello hello hello 
 hi hi hi
 h h h
[root@RHEL6A tmp]# awk '{print $1,$2,"111"}' data5.txt 
hello hello 111
hi hi 111
h h 111
[root@RHEL6A tmp]#
------解决方案--------------------
看看awk的用法吧,不算难
------解决方案--------------------
Assembly code
awk '$NF=NR' file1 > file2

------解决方案--------------------
探讨
嗯。NR有行号的意思。我想你可能理解错了
在这里 1.txt中如下
1 2 3
4 5 6
7 8 9
现需改为(如下),并重定向输出到2.txt中
hello 2 3
4 5 你好
hi 8 9

------解决方案--------------------
探讨
哦!这样啊!那能不能对特定的一列值进行改变呢……像下面这样
1 2 3
4 5 6
7 8 9
将第一列的值改为
hi 2 3
hello 5 6
你好 8 9