一、首先说一下什么是cutcut的用法

cut命令的主要作用是根据定界符对文本中的每行进行切割和提取。一般用来截取某行或某些行的一部分,切割嘛^^


先介绍一下cut命令的主要参数

-b:指定字节位置

-c:指定字符位置

-d:指定以什么字符作为定界符(字段分隔符),默认是制表符,特殊字符要用引号引起来,例如空格。

-f:指被定界符隔开的字段,例如f1就表示第一字段,f1,3就表示第1和第3字段

-s:忽略不包含定界符的行,要和-f一起使用


下面举例说一下用法:

1、显示/etc/passwd文件中以冒号为定界符的第一段和第三段

cut -f1,3 -d: /etc/passwd

2、显示/etc/passwd文件中的第58个字节是什么

cut –b5-8 /etc/passwd

3、显示/etc/passwd文件中第10个字符是什么

cut –c10 /etc/passwd

4、显示/etc/passwd文件以冒号为定界符的第一段,如果某行没有定界符,则忽略该行

cut –d: -f1 –s /etc/passwd

关于cut命令就说到这里,希望对大家有帮助,下面说一下sed命令


二、什么是sedsed的用法

sed也是一个针对每一行进行处理的命令,他可以对每一行符合条件的内容进行替换,删除,插入,也可以在行之间插入,替换内容。支持正则表达式。

常用参数

-n:静默模式,只显示经过sed处理的行

-f:可以从文件中取出sed 的命令进行执行

-r:使sed支持扩展正则表达式

-i:直接修改原文件,而不是在屏幕上输出,默认将结果输出到屏幕

常用的命令

a:新增

c:取代

d:删除

i:插入

p:列印

s:查找替换

 s/查找什么/替换为什么/ :默认只替换每行中第一次被匹配到的字符串

     可在最后加修饰符

         g :全局替换

         i :忽略字符大小写

 s功能里的/这个分隔符也可以换成#或者@都行,但要保持分隔符一致

 & :代表引用前面查找的完整字段,例如s/user/&s/就表示把所有的user替换成users


下面举例说明一下

1、只显示passwd文件的第一行

sed -n ‘1p’ passwd

2、删除passwd文件的第2行到最后一行

sed ‘2,$d’ passwd

3、在passwd文件的第一行后面增加一行,内容为hello

sed ‘1a hello’ passwd

4、将passwd文件的最后一行改成hello$符号表示最后)

sed ‘$c hello’ passwd

5、将passwd文件中r..t改变成r..ts

sed 's#\(r..t\)#\1r#g' passwd或 sed 's#r..t#&r#g' passwd



以上就是sed的基本用法,主要是给自己做个知识的记录,也希望大家能看明白