shell 有时候会用三剑客结合正则表达式来处理文本 sed cut行 awk列,对一行中的英文,数字筛选,匹配,删除,替换,
文章目录
删除文本中指定行的字母
需求:
1.将文本test.txt(共10行)中前5行中包含字母的行删除
2.将6-10行中的字母删除
脚本思路:
过滤出前5行,将包含字母的行删除,输出满足需求1的结果,去掉前5行,将剩余的行中(6-10行)的字母去掉,输出满足需求2的结果
#!/bin/bash
#过滤前5行,删除包含字母的行
sed -n '1,5'p test.txt |sed '/[a-zA-Z]/d'
#删除前5行,将剩余行(6-10行)中的字母去掉
sed '1,5'd test.txt |sed 's/[a-zA-Z]//g&