Sed

作者: 断水流大师兄vs魔鬼筋肉人 | 来源:发表于2018-04-26 22:48 被阅读0次

1,删除文件每行的第一个字符。

sed -r 's/^(.)(.*)/\2/' /etc/passwd

2,删除文件每行的第二个字符。

sed -r 's/^(.)(.)(.*)/\1\3/' /etc/passwd

3,删除文件每行的最后一个字符。

sed -r 's/(.*)(.)$/\1/' /etc/passwd

4,删除文件每行的倒数第二个字符。

sed -r 's/(.*)(.)(.)$/\1\3/' /etc/passwd

5,删除文件每行的第二个单词。

sed -r 's/^([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\1\2\4/' /etc/passwd

^([a-Z]+)==开头单词   ([^a-Z]+)==非字母词   ([a-Z]+)==单词       ([a-Z]+)$==最后一个词   

6,删除文件每行的倒数第二个单词。

sed -r 's/([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)$/\1\3\4/' /etc/passwd

7,删除文件每行的最后一个单词。

sed -r 's/([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)$/\1\2\3/' /etc/passwd

8,交换每行的第一个字符和最后一个字符。

sed -r 's/^(.)(.*)(.)$/\3\2\1/' /etc/passwd

9,交换每行的第一个字符和第二个单词。

sed -r 's/^(.)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\4\2\3\1\5/' /etc/passwd

10,交换每行的第一个单词和最后一个单词。

  sed -r 's/^([a-Z]+)([^a-Z]+)(.*)([^a-Z]+)([a-Z]+)$/\5\2\3\4\1/' /etc/passwd

11,删除一个文件中所有的数字。

  sed -r 's/[0-9]//g' /etc/passwd

12,删除每行开头的所有空格。

  sed -r 's/^ *//g' /etc/passwd

13,用制表符替换文件中出现的所有空格。

  sed -r 's/ ^  +/\t/g' /etc/passwd

14,把所有大写字母用括号()括起来。

  sed -r 's/[A-Z]/(&)/g' /etc/passwd

15,打印每行3次。

  sed 'p;p' /etc/passwd

16,只显示每行的第一个单词。

  sed -r 's/^([a-Z]+)([^a-Z]+)(.*)/\1/' /etc/passwd

17,打印每行的第一个单词和第三个单词。

  sed -r 's/^([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\5\2\3\4\1\6/' /etc/passwd

相关文章

网友评论

      本文标题:Sed

      本文链接:https://www.haomeiwen.com/subject/jvrvlftx.html