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