3-8:常见任务和主要工具之格式化输出
文章目錄
- 一:簡(jiǎn)單的格式化工具
- (1)nl-對(duì)行進(jìn)行標(biāo)號(hào)
- (2)fold-將文本中的行長(zhǎng)度設(shè)定為指定長(zhǎng)度
- (3)fmt-文本格式化工具
- (5)printf-格式化文本
本章主要涉及的命令如下:
- nl:對(duì)行進(jìn)行標(biāo)號(hào)
- fold:設(shè)定文本行的長(zhǎng)度
- fmt:簡(jiǎn)單的文本格式化工具
- pr:格式化打印文本
- printf:格式化并打印數(shù)據(jù)
- grof:文檔格式化系統(tǒng)
一:簡(jiǎn)單的格式化工具
(1)nl-對(duì)行進(jìn)行標(biāo)號(hào)
和cat命令一樣,ml既支持多個(gè)文件名作為命令行參數(shù),也支持標(biāo)準(zhǔn)輸入,但是它有很多復(fù)雜的編號(hào)
nl進(jìn)行標(biāo)號(hào)時(shí)支持一個(gè)叫做邏輯頁(yè)的概念,所以他可以重置數(shù)值序列。也就是說(shuō)通過(guò)一定的參數(shù)設(shè)置,他可以設(shè)置起始編號(hào)為一特定的值。
邏輯頁(yè)可以分為邏輯頁(yè)正文,標(biāo)題和頁(yè)腳
如果nl的輸入?yún)?shù)是多個(gè)文件,那么nl會(huì)將其當(dāng)做一個(gè)文件
nl的標(biāo)記如下,每一個(gè)標(biāo)記元素在一行中只允許出現(xiàn)一次,并且每次處理完一個(gè)標(biāo)記元素后,nl便將其從文本流中刪除
下面是nl的常用選項(xiàng)
y9ibG9nLmNzZG4ubmV0L3FxXzM5MTgzMDM0,size_16,color_FFFFFF,t_70)
書(shū)中敘述的操作過(guò)于專(zhuān)業(yè),這里我列出一些常用的操作
默認(rèn)是不對(duì)空行進(jìn)行編號(hào)的,如果輸入nl -b a test表示空行也編號(hào)
輸入nl -i 2 test表示以步長(zhǎng)為2的方式進(jìn)行編號(hào)
輸入nl -n rz test 表示以右對(duì)齊的方式進(jìn)行編號(hào),默認(rèn)為6位,所以前面的會(huì)用0補(bǔ)齊
輸入nl -n rz -w test,在前面右對(duì)齊的基礎(chǔ)上,將位數(shù)設(shè)置為3位
輸入nl -v test 表示設(shè)置起始編號(hào)是5
輸入nl -s "|" test表示每個(gè)行號(hào)后面加上“|”作為分隔
(2)fold-將文本中的行長(zhǎng)度設(shè)定為指定長(zhǎng)度
fold是一個(gè)將文本行按照指定長(zhǎng)度分解的操作。,也就是限制寬度
fold -w 6 test表示限制列寬為6,長(zhǎng)處每行的將會(huì)擠到下一行
可以發(fā)現(xiàn)這種情況下,有些完整單詞被割裂的,所以加入-s選項(xiàng)可以避免這個(gè)問(wèn)題
(3)fmt-文本格式化工具
fmt命令會(huì)從指定的文件里讀取內(nèi)容,將其依照指定格式重新編排后,輸出到標(biāo)準(zhǔn)輸出設(shè)備
比如如下有這樣一段文本
fmt -w 23 test2表示每一行最多23個(gè)字符
這是其他的參數(shù)
(5)printf-格式化文本
printf我相信不用我再多說(shuō),大家學(xué)習(xí)C語(yǔ)言時(shí),接觸的第一個(gè)函數(shù)肯定是它。printf是print formatted的縮寫(xiě),也就是格式化輸出,這是C語(yǔ)言開(kāi)發(fā)的一個(gè)函數(shù)。后來(lái)許多編程語(yǔ)言也實(shí)現(xiàn)了這個(gè)功能,包括shell環(huán)境。
printf在這里我就不多說(shuō)了,更多是因?yàn)樗膮?shù)較多,所以這里我主要以一種總結(jié)方式來(lái)回顧這個(gè)函數(shù),詳見(jiàn)下面這篇文章。
C語(yǔ)言重難點(diǎn)總結(jié):printf和scanf
總結(jié)
以上是生活随笔為你收集整理的3-8:常见任务和主要工具之格式化输出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android深度探索第四章感想
- 下一篇: [动规] hihocoder 1149