[20210301]第2行插入Y.txt
--//前几天做控制文件序列号满的恢复,链接
--// http://blog.itpub.net/267265/viewspace-2759215/ => [20210225]控制文件序列号满的恢复.txt
--// 输出脚本要在第2行插入Y,我采用手工加入,使用bash shell如何完成呢.
--// 没事自己尝试看看.
1.方法1:
--//最容易想到的是sed:
$ seq 6 | xargs -IQ echo -e "assign dba Q,1 kcvfh.kcvfhhdr.kccfhcsq=0x00007777\nsum apply dba Q,1" | sed '1aY'
assign dba 1,1 kcvfh.kcvfhhdr.kccfhcsq=0x00007777
Y
sum apply dba 1,1
assign dba 2,1 kcvfh.kcvfhhdr.kccfhcsq=0x00007777
sum apply dba 2,1
assign dba 3,1 kcvfh.kcvfhhdr.kccfhcsq=0x00007777
sum apply dba 3,1
assign dba 4,1 kcvfh.kcvfhhdr.kccfhcsq=0x00007777
sum apply dba 4,1
assign dba 5,1 kcvfh.kcvfhhdr.kccfhcsq=0x00007777
sum apply dba 5,1
assign dba 6,1 kcvfh.kcvfhhdr.kccfhcsq=0x00007777
sum apply dba 6,1
2.方法2:
--//awk,我最不熟悉的就是awk,平时我就不大喜欢用它,语法也不是很熟.
$ seq 5| awk "{if (NR==2) print \"Y\n\" \$0 ;else print \$0 }"
1
Y
2
3
4
5
--//以上是windows下使用cygwin的写法有点变态.在linux下尝试看看.
$ seq 5| awk '{if (NR==2) print "Y\n" $0 ;else print $0 }'
1
Y
2
3
4
5
3.方法3:
--//paste+sed:
$ paste -d"\n" <(seq 5 ) <(echo Y) |sed '/^\s*$/d'
1
Y
2
3
4
5
4.方法3:
--//vim可行吗?尝试看看.
$ seq 5 | vim - -esbnN -c '1s/^.*$/&^MY/' -c 'w!/dev/stderr|q!' 2>&1 >/dev/null
1
Y
2
3
4
5
--//应该有更好的写法:我参考链接:https://blog.robertelder.org/use-vim-inside-a-unix-pipe-like-sed-or-awk/
--//想想我虽然经常使用vim,但是并不熟悉ex一些命令.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2760137/ ,如需转载,请注明出处,否则将追究法律责任。