grep 和 sed 实例2

一、grep 命令

  1. 查找包含指定字符串的行:
grep "string" file.txt
  1. 查找不包含指定字符串的行:
grep -v "string" file.txt
  1. 指定多个文件进行查找:
grep "string" file1.txt file2.txt 
  1. 使用正则表达式进行查找:
grep "^start" file.txt  # 匹配以 start 开头的行 
grep "[0-9]" file.txt   # 匹配任意数字出现过的行 
  1. 统计匹配到的结果数量:
grep -c "string" file.txt  
  1. 显示匹配结果所在行号和内容:
grep -n "string" file.txt  
  1. 忽略大小写进行查找:
 grep -i "STRING" file.txt   

二、sed 命令

  1. 替换文本中所有符合条件的字符串为新字符:
sed 's/old/new/g' filename     

其中,g 表示全局替换。
2. 删除某些特定字符或者某些特定位置上面的字符:

sed 's/character//g' filename     # 删除所有 character 字符串   
sed 's/.//3' filename             # 删除第三个字符   
  1. 在每一行前加入一个固定文本:
sed 's/^/text/' filename          # 在每一行前加入 text 文本   
  1. 将多个空格替换成单个空格:
sed 's/[[:space:]]\+/ /g' filename    # 将多个空格替换成单个空格   

5 .删除文件中重复出现过得连续两次及以上相同内容(只保留第一个):

sed '$!N; /^\(.*\)\1$/!P; D;' testfile       

注释:KaTeX parse error: Can't use function '\(' in math mode at position 14: !N表示读取下一条记录;/\̲(̲.*\)\1/表示用分割后,两部分相等。如果不相等,则打印第一部分并删除它;否则跳过。D命令是将模式空间中开头至于最初发生匹配处之间这段数据删掉,并重新执行循环。

猜你喜欢

转载自blog.csdn.net/dgwxligg/article/details/129471405