首页 > 代码库 > 文本处理的命令

文本处理的命令

一、#wc:print the number of newlines, words, and bytes in files

wc [option] [file]

-l:统计行

-c:统计字节数

-w:统计单词数

如:a、统计当前系统有多少用户: wc -l /etc/passwd

    b、统计/bin下的文件数:ls -l /bin|wc -l

    c、统计/etc目录下以P或者p开头的文件个数:ls -d /etc/[Pp]*|wc -l

二、#tr:translate 转换或删除字符,需要使用管道|


如:a、cat /etc/issue | tr ‘a-z‘ ‘A-Z‘ :将issue中的字母转换为大写


    b、echo "hello world" | tr ‘abcdefg‘ ‘ABCDEFG‘:将hello world 中包含的abcdefg 

    转换为大写。


    c、echo "hello world" | tr -d ‘abcdefg‘:删除hello world 中包含abcdefg中的字符。


    d、head -7 /etc/passwd |tail -1|cut -d: -f1|tr ‘a-z‘ ‘A-Z‘:取出/etc/passwd文件的第7行    中的用户名,并将其转换为大写字符

三、#cut:剪开,根据指定的分隔符,分隔显示。

echo "this is a new line." | cut -d‘ ‘ -f1

cut -d: -f1 /etc/passwd=cat /etc/passwd |cut -d: -f1显示所有用户名

cat /etc/passwd |cut -d: -f1,7显示所有用户以及其shell

head -7 /etc/passwd |tail -1|cut -d: -f1,取出/etc/passwd文件的第7行中的用户名

四、#sort:排序输出文件内容。

sort [option] file

-f:忽略字符大小写。

-n:将内容按照数值比较大小。

-t:指定分隔符

-k:指定分割后进行比较字段

-u:重复行(重复行即连续的行),只显示一次。

如:

a、sort /etc/fstab

b、cat /etc/passwd |cut -d: -f3|sort -n =cut -d: -f3 /etc/passwd| sort -n将所有用户的id排序。

c、cut -d: -f7 /etc/passwd|sort -u 显示当前系统上所有用户的shell,并且杯中shell只显示一次

五、#uniq:移除重复行(重复行即连续的行)

    -c:统计每行重复的次数。

    -d:仅显示重复的行。

    -u:仅显示不重复的行。

六、head和tail:

    取出/etc/passwd文件的第7行:head -7 /etc/passwd |tail -1


文本处理的命令