最近在读sed and awk 2Nd Edition这本书,刚看到h g 这些命令。到目前为止发现书中的例子全是多行拼写的。如6.3 Hold that line中的如下例子: cat testfile4 1 2 11 22 111 222 目的将含有1和2的行对换。最终结果为: 2 1 4 22 11 222 111 书中的命令为: sed '/1/{ h d} /2/{ g}' testfile4 想转换成一行命令,经过几次错误后,正确的为:sed "/1/{h;d}; /2/{g}" testfile4 其中有一点不太明白,就是标红的分号,为什...
如 #cat source.txt ds sdjf fas aaa bbb ccc kdjf 1 df bbb dkfjk kdjfks ieiei ccc ddf cc ccc 想得到如下结果 #cat source.txt ds sdjf fas aaa bbb ccc kdjf 1 df bbb dkfjk kdjfks ieiei ccc insert ddf cc ccc ds sdjf fas aaa bbb ccc 为什么下面的不行,怎么把g和i结合起来用 sed -e '/aaa/h' -e '/ddf/gi\ > insert' source.txt
sed "s/${str}/{str1}/g" 中如果str1有特殊字符'/' ,而我不想被转义 ,怎么办??
大家好,我有这样一段脚本,但是一直执行失败,请各位指点一下啊 #!/bin/sh SRC1=/root/dir1 DST=/root/dir2 SRC2=`mkdir -p $SRC/test` tmpDir=`echo $SRC2|sed 's/$SRC1//'` mkdir -p $DST$tmpDir 主要是这一行无法正常执行 tmpDir=`echo $SRC2|sed 's/$SRC1//'` 该语句报错 sed 's/$SRC1//'`
想用sed 把 23306/dbname 替换成23306/dbname sed -i -e 's/23306/dbname/23306/dbname_test/g' server.xml 不行,请问如何处理?