91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Shell怎么對包含空格的文本進行遍歷

發布時間:2021-04-06 15:49:29 來源:億速云 閱讀:672 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關使用Shell怎么對包含空格的文本進行遍歷,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

shell遍歷文件

有時候要對某個文件夾下面的所有文件做同樣的處理,比如對每個文件統計行數,這時用遍歷文件的方式就很簡單了。

$ for i in `ls`;do wc -l $i;done
55552 f123.txt
55819 f124.txt
56118 f125.txt
56404 f126.txt
56633 f127.txt
56842 f128.txt

這里使用了for...do...done循環,注意循環語句寫在一行上面時,要用 ; 分隔開來。

ls要用反引號擴起來。

Shell遍歷空格文本

處理包含空格或特殊字符的文件是每個使用Linux的人都應必須掌握的。本文我們將討論如何在帶有空格的文件上使用for循環。

測試文本如下:

This line has spaces
these
do
not

現在,我們使用for循環來迭代這個文本。當我們執行for循環時,shell會看到第一行的空格,并假設每一行都是不同的迭代。

[root@test ~]# for i in $(cat test);do echo $i;done
This
line
has
spaces
these
do
not

IFS定義了在分隔單詞時用作分隔的字符或字符集。

維基百科:對于Unix操作系統的許多命令行解釋器(“shell”),內部字段分隔符(簡稱IFS)是指一個變量,該變量定義用于將模式拆分為某些操作的標記的字符。

默認情況下,IFS(字段分隔符)的值為<space><tab><newline>。因此,當shell看到第一行中的空格時,它將該行劃分為四個標記(四個單詞)。

修改IFS的值來滿足我們的需求

IFS是一個環境變量。在更改環境變量之前,最好的做法是保存它們的內容。這樣就可以輕松地將它們設置為默認值。

首先,我們先將IFS變量的值保存到OLDIFS中。

OLDIFS=$IFS

我們可以手動設置IFS成任何我們想要的值。在這種情況下,我們需要將字段分隔符作為換行符。我們可以像任何變量一樣設置IFS。

IFS=<our value>

要將IFS設置為換行符,我們可以使用命令替換從echo命令獲取換行符輸出。

IFS=`echo -e "\n"`

echo -e "\n"的輸出是一個換行符。用于反引號封裝,將shell命令的輸出作為變量IFS。

現在,當我們執行相同的for循環時,shell將通過換行符來分隔文本。

[root@test ~]# for i in $(cat test); do echo $i; done
This line has spaces
these
do
not

上述就是小編為大家分享的使用Shell怎么對包含空格的文本進行遍歷了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹤壁市| 德化县| 津市市| 九寨沟县| 简阳市| 建始县| 莲花县| 舞钢市| 如皋市| 奇台县| 宣恩县| 磴口县| 喜德县| 新巴尔虎右旗| 谢通门县| 荆州市| 宣威市| 西城区| 泗水县| 宾川县| 谢通门县| 游戏| 五家渠市| 周宁县| 新乡市| 蒙山县| 白朗县| 鄯善县| 大荔县| 宜州市| 高安市| 姜堰市| 娄烦县| 辛集市| 开远市| 临澧县| 鄂尔多斯市| 凉城县| 隆安县| 五原县| 东乡县|