Linux的shell脚本替换问题

怎样使用shell脚本把a文件的第1行的第4个字符到第8个字符,替换成b文件的第7行的第6个字符到第15个字符

作者: greenandtree   发布时间: 2011-06-06

本帖最后由 jason680 于 2011-06-06 23:38 编辑


QUOTE:
怎样使用shell脚本把a文件的第1行的第4个字符到第8个字符,替换成b文件的第7行的第6个字符到第15个字符
greenandtree 发表于 2011-06-06 22:55



$ cat a
1234567890

$ cat b
11111111111111111111
22222222222222222222
33333333333333333333
44444444444444444444
55555555555555555555
66666666666666666666
77777777777777777777
88888888888888888888

$ akey=`sed -nr '1s/^...(.....).*$/\1/p' a`

$ echo $akey
45678

$ sed -r '7s/^(.{5}).{10}/\1'$akey$akey'/' b
11111111111111111111
22222222222222222222
33333333333333333333
44444444444444444444
55555555555555555555
66666666666666666666
77777456784567877777
88888888888888888888

作者: jason680   发布时间: 2011-06-06

本帖最后由 xiaopan3322 于 2011-06-06 23:52 编辑

xiabao@6P9SN2X ~/test
$ cat 1
123456789

xiabao@6P9SN2X ~/test
$ cat 2
hello
fds
fsd
fsdg
fsdg
fsd
abcdefghijklmnopqrst
fjskfjdslk

xiabao@6P9SN2X ~/test
$ var=$(sed -n 7p 2 | cut -c6-15) && sed "1s/\(...\).....\(.*\)/\1$var\2/g" 1
123fghijklmno9

作者: xiaopan3322   发布时间: 2011-06-06

回复 jason680


    兄弟,你搞反了吧?

作者: xiaopan3322   发布时间: 2011-06-06

回复 xiaopan3322


    是啊.....时间晚了...错乱了...

作者: jason680   发布时间: 2011-06-06