Linux的shell脚本替换问题
怎样使用shell脚本把a文件的第1行的第4个字符到第8个字符,替换成b文件的第7行的第6个字符到第15个字符
作者: greenandtree 发布时间: 2011-06-06
本帖最后由 jason680 于 2011-06-06 23:38 编辑
$ 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
QUOTE:
怎样使用shell脚本把a文件的第1行的第4个字符到第8个字符,替换成b文件的第7行的第6个字符到第15个字符
greenandtree 发表于 2011-06-06 22:55
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
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