日期:2025-07-18 14:18:02 人气:1

    A+
热门评论

Sed 删除匹配行,匹配的字符用Shell变量替换,且变量里含有斜杠“/”时,无法删除

“修改语法,用#代替”,这个只能用在sed的s替换命令中,如:s/A/B/可以写为s#A#B# 但直接正则匹配 /正则/ 是不可以这样用#替代的。 这里提供两个方法供参考: 1)先用s命令将此要删除的路径替换为一个文件中不可能出现的唯一字符串,然后再通过正则匹配该字符串删除该行。可以写在一条sed语句中。 name=/usr/local/bin/sed -i 's#'$name'#EXCLUSIVE#;/EXCLUSIVE/d' hello2) grep也支持正则,可以使用grep -v反向过滤。 name=/usr/local/bin/grep -v "$name" hello >outputmv output hello

阅读全文

shell中怎么删除文件中指定行的

1、删除包含指定关键字的行: sed -i '/hello/d' test_temp [root@host]$ cat test_temp world 123 4566 889 2、删除指定行号的行 sed -i '2d' test_temp [root@host]$ cat test_temp world 4566 889 3、sed -i '1d' a.txt删首行 4、sed -i '$d' b.txt删尾行 5、sed -i 's/[ ]*//g' c.txt删空格 6、sed -i '/^$/d' d.txt删空行 7、sed -i ‘/love/d’ a.txt删包含string的行。 扩展资料: shell 命令 常用命令: cat 文件名 输出文件内容到基本输出(屏幕 or 加>fileName 到另一个文件) cb 格式化源代码 chmod //change mode,改变文件的权限 cp copy date 当前的时间和日期 echo $abc 在变量赋值之后,只需在变量前面加一个$去引用. lint 语法检查程序 ls dir man help more type du 查看磁盘空间状况 ps 查看当前进程状况 who 你的用户名和终端类型 定义变量 name=abc? (bash/pdksh) || set name = abc (tcsh) mkdir 创建目录 rmdir 删除目录 cd 进入目录 rm 删除文件 more 显示文件 echo 显示指定文本 mv 改文件名 /移动文件 pwd 显示目录路径命令 参考资料来源:百度百科-shell

阅读全文