用cat進行拼接

2021-09-01 11:53:15 字數 1441 閱讀 1317

cat命令,通常用於讀取、顯示和拼接檔案內容,但是它的能力遠遠不僅於此。

例如:如何用一行命令將來自標準輸入以及檔案的資料給組合起來。

通常做法:將stdin重定向到乙個檔案,然後再將兩個檔案組合到一起。

不過,cat命令可以一次性搞定。

一、實戰演練

cat表示concatence(拼接)。

用cat讀取檔案內容的一般寫法是:

$cat file1 file2 file3…

這個命令將作為命令列引數的檔案內容拼接一起。

1、列印單個檔案的內容*

$cat file.txt

this is a line inside file.txt

2、列印多個檔案的內容*

$cat one.txt two.txt

this is line from one.txt

this is line from two.txt

二、工作原理

cat命令不僅可以讀取檔案、拼接資料,還能夠從標準輸入中進行讀取。

從標準輸入中讀取需要使用管道操作符

output_from_som commands | cat

類似的,我們可以用cat將來自輸入檔案的內容與標準輸入拼接在一起,將stdin和另乙個檔案的資料結合起來。方法如下:

$ ehco 『text through stdin』 | cat - file.txt

在上面的**中,-被作為stdin文字的檔名

三、補充內容

cat命令還有其他功能

1、擺脫多餘的空白行

$cat -s file

例如:$cat multi_blanks.txt

line1

line2

line3

line4

$ cat -s multi_blanks.txt #壓縮相鄰的空白行

line1

line2

line3

line4

2、將製表符顯示 ^i

在用python編寫程式時,用於**縮排的製表符以及空格都是具有特殊含義的。不能混用。

cat有乙個特性,就可以將製表符著重標記出來。該特性對排除縮排錯誤非常非常有用。

用cat -t 可以將製表符標記為 ^t。

$cat file.py

$cat -t file.py

3、行號

使用cat命令的-n選項會在輸出的每一行內容之前加上行號。

$cat lines.txt

line

line

line

$cat -n lines.txt

1 line

2 line

3 line

ps:-n甚至會為空白行加上行號。如果想跳過空白行,可以使用 -b

如何利用dd和cat做檔案拼接

在做u boot時常常需要把幾塊檔案按一定的格式拼接成新的可執行檔案,這是可以利用dd和cat來完成。dd if u boot.bin of fb1 bs 1 count 64 dd if 1 of fb2 bs 4096 conv sync dd if u boot.bin of fb3 bs 1...

用cat 統計apache 日誌ip

現有一段apache的日誌,需要從日誌中提取出訪問量最大的ip。使用shell實現。日誌如下 只是舉例,故資料量較小 1.要提取訪問量最大的ip,需要先從日誌中把ip段提取出來。cat aa.txt awk f 127.0.0.1 192.168.1.100 192.168.1.100 192.16...

用map實現sql拼接

今天在寫二維報表 某列的內容隨著帳號不同會變化 的時候想到了sql拼接。首先你需要在你的實體類中定義乙個map集合,看jeesit的原始碼它是把這個屬性定義在基類中,乙個意思,然後通過這個類的屬性去獲取就行了,下面的 有些麻煩,通過上面這句話你可以寫出你想要的拼接。大概是這樣定義的 baseenti...