举个例子
比如 我有 1.txt 里面内容是
19900521 aaa sssssss
19900522 sss ccccccc
...
...
...
如何改成
20100521 aaa sssssss
20100522 sss ccccccc
...
...
...
要把整个文件第一列1990的这部分全部替换成2010
第一列不一定是纯数字
第1个回答 2015-05-05
sed -i 's/^1990/2010/g' 1.txt追问
如果 要改成
2010 aaa sssssss
2010 sss ccccccc
这样前面8位变4位呢
那你得用awk获取第一列直接替换即可
#!/bin/sh
for x in `cat a.txt`;do
str=`echo $x |awk '{print $1}' `
sed -i "s/^${str}/2010/g" a.txt
done
替换成功了,但是 为何程序 结束后一直 挂在那里 不自动关闭呢
搞得我一直以为 还在执行
例如./a.sh
本回答被提问者采纳