sed 一些操作,如批量删除指定,批量插入指定

sed -i  2,5d xxx.sh  删除第二到第五行包括第五行 ,且shell 从1 开始算起

要加入 -i 否则只输出不修改

for file in ./*; do sed -i 2,5d $file; done   $file引用 批量

 

sed -i '1 r test' dx.sh 在指定位置插入文件内容 在第一行后插入 test 文件的内容

sed 插入某个文件的内容 加 r 参数指定文本

 

sed -i "2a\who i am "  xxxxx

将who i am 插入到 xxx 的第二行后面即第三行

 

在指定的位置插入指定文本

sed -i '$a\文本' file.sh 在最后一行插入 文本 a append

sed -i '1 a\文本'  file.sh 在第一行后插入

 

sed 获取指定行的内容

sed -n '4p' xxx   

或者awk NR==4 xxx

n number p print

 

制定列

awk '{print $2}'

 

替换 vim 编辑 :%s/xxx/xx/g 但是一次只能替换一个文件

批量替换  sed -i 's/xxx/xx/g' * 

要加 -i 写入文件

 

shell 在指定位置的行末添加字符

sed -i '/A/ s/$/B/'  xxx.sh 在匹配到有A 的那行的末尾添加字符B


sed 获取指定行

lunar | sed -n '3p;4p' ; date sed 指定行 

sed 删除最后一行

sed -i  ‘$d’ file

cat xxx | sed '$d' 在管道中不需要加上 -i 

 

sed 匹配删除

sed -i -e '/xxx/d' a.sh

 

  1 在每行的头添加字符,比如"HEAD",命令如下:
  2 
  3 sed 's/^/HEAD&/g' test.file
  4 
  5 在每行的行尾添加字符,比如“TAIL”,命令如下:
  6 
  7 sed 's/$/&TAIL/g' test.file

 

sed 's/,$//' file.txt        sed delete 每一行最后$(开头^)的逗号 替换为空即删除

sed 去除空行 注意sed写入需要加 -i  sed '/^$/d' xxx 

vim 去除空行  :g/^$/d

 

sed 批量替换

sed -i 's/xx/xx/g' xxx

Mac版替换需要在原来的基础前面上加上空格  

sed -i '' 's/xxx/xx/g' ffff
 

你可能感兴趣的:(shell)