shell语句记录

sed篇:

1. 删除指定的字符,比如 'a'-----$ sed 's/a//' file

2. 移除每一行的第一个字符----$ sed 's/^.//' file

3. 移除每一行的最后一个字符---$ sed 's/.$//' file

4. 同时移除每一行的第一个字符和最后一个字符---$ sed 's/^.//;s/.$//' file

5. 移除每一行的匹配到的第一个字符,如果没有匹配不做处理---$ sed 's/^F//' file

6. 移除每一行的匹配到的最后一个字符,如果没有匹配不做处理---$ sed 's/x$//' file

7. 删除每一行的第一到第三个字符---$ sed 's/...//' file

8. 删除每一行的第一个到第 n 个字符---$ sed -r 's/.{4}//' file

9. 删除每一行的最后 n 个字符---$ sed -r 's/.{3}$//' file

10. 除了每一行的第一到第n个字符外,剩下的都要删除---$ sed -r 's/(.{3}).*/\1/' file (Red .{3}匹配每一行开头3个字符,且用 () 分组;.* 表示匹配任意多个字符。在替换位通过 \1 表示保留第一个分组的内容。)

11. 删除每一行所有字符且保留结尾的n个字符---$ sed -r 's/.*(.{3})/\1/' file

12. 删除每一行匹配到的多个字符---$ sed 's/[aoe]//g' file (RdHt[] 指定需要匹配的多个字符,g 表示删除每一行匹配到的所有字符)

13. 删除匹配到的字符串---$ sed 's/lari//g' file

14. 删除每一行匹配到的第 n 个字符---$ sed 's/u//2' file(默认 sed 只会处理匹配到的第一个字符,可以指定处理匹配到的第几个字符,如上,Ubuntu 将匹配的第二个字符删除了。)

15. 删除每一行以某个字符开头的子字符串---$ sed 's/a.*//' file

16. 删除文件中每一行中出现的所有数字---$ sed 's/[0-9]//g' file

17. 删除每一行中出现的小写字符---$ sed 's/[a-z]//g' file

18. 删除除了小写字符之外的其他所有字符---$ sed 's/[^a-z]//g' file

19. 删除每一行所有的字母和数字字符---$ sed 's/[a-z][A-Z][0-9]//g' file

20. 删除每一行的一个字符,且忽略大小写--$ sed 's/[uU]//g' file

21.删除空白行---$ sed /^[[:space:]]*$/d  file //  sed '/^s*$/d' file

posted on 2022-08-27 17:00  暗夜、逝  阅读(34)  评论(0编辑  收藏  举报

导航