fmt命令(重新格式化段落)与wc命令(计算行数、字数以及字符数)实例详解



重新格式化段落(fmt)

 

fmt:适用于shell脚本内处理数据流时需要完成重新格式化,

或者在一个缺乏重新格式化命令但提供了shell转义的编辑器的情况下

 

常用选项:

-s:仅切割较长的行,不会将较短行合并

-w n:设置输出行宽度为n个字符

 

实例1:重新格式化20个字典单词

[gz_fieldyang@test ~]$ sed -n -e 9991,10010p /usr/share/dict/words |fmt

algometrically algometry Algomian Algomic Algona Algonac Algonkian

algonkian Algonkin Algonkins Algonquian algonquian Algonquians algonquians

Algonquin algonquin Algonquins algonquins algophagous algophilia

 

实例2:重新将10个单词格式化为宽度30内的短的行

[gz_fieldyang@test ~]$ sed -n -e 9995,10004p /usr/share/dict/words |fmt -w 30   

Algona Algonac Algonkian

algonkian Algonkin Algonkins

Algonquian algonquian

Algonquians algonquians

[gz_fieldyang@test ~]$

注意:如果系统里没有/usr/share/dict/words

那可能是在/usr/dict/words或者/usr/share/lib/dict/words

 

实例3:仅重新格式化长的行为10字符内的短的行

[gz_fieldyang@test ~]$ fmt -s -w 10 << END_OF_DATA

> one two three four five six

> seven

> eight

> night ten

> END_OF_DATA

one two

three

four

five six

seven

eight

night ten

 

计算行数、字数以及字符数(wc)

 

wc:默认输出的是一行报告,包括行数,字数以及字节数

常用选项:

-c:计算字节数

-l:计算行数

-w:计算字数

 

实例1:输出报告

[gz_fieldyang@test ~]$ echo This is a test of the emergency broadcast system|wc

      1       9      49

[gz_fieldyang@test ~]$

 

实例2 计算两个文件内的数据

[gz_fieldyang@test ~]$ wc /etc/passwd /etc/group

  80  101 3824 /etc/passwd

  92   92 1418 /etc/group

 172  193 5242 total

 

实例3:选项测试

[gz_fieldyang@test ~]$ echo Testing one two three four | wc -c

27

[gz_fieldyang@ test ~]$ echo Testing one two three four | wc -l

1

[gz_fieldyang@ test ~]$ echo Testing one two three four | wc -w

5

[gz_fieldyang@ test ~]$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值