Linux上進行文字檔案的操作

2021-10-24 03:20:37 字數 2454 閱讀 8751

#解法一

tail -n +10 filename 從第10行輸出

#解法二: sed

sed -n '10p' file.txt 列印第10 行內容

sed -n '9, 10p' file.txt

列印第十行

sed -n '10p' file.txt

列印一到十行

sed -n '1,10p' file.txt

# 解法三:grep

查詢指定字元

grep -n 'keyword' file.txt

列印指定字元上下5行

grep -c 5 'keyword' file.txt

列印指定字元上下n行

grep -a 100 -b 100 'keyword' file.txt

-a after 後面

-b before 前面

查詢指定字元出現次數

grep -o 'keyword' file.txt |

wc -l

解法四:awk

nr: awk 讀取的記錄行數

fnr:

cat file.txt |

awk'nr==10'

grep -r 「關鍵字」 /路徑

給定乙個檔案file.txt,轉置它的內容。

你可以假設每行列數相同,並且每個欄位由' '分隔.

示例:假設file.txt檔案內容如下:

name age

alice 21

ryan 30

應當輸出:

name alice ryan

age 21 30

先執行begin後的,相當於表頭

再執行中的檔案處理主體命令

最後執行end後的中的命令

有幾個經常用到的awk常量:nf是當前行的field字段數;nr是正在處理的當前行數。

注意到是轉置,假如原始文字有mn列(字段),那麼轉置後的文字應該有nm列,即原始文字的每個欄位都對應新文字的一行。我們可以用陣列res來儲存新文字,將新文字的每一行存為陣列res的乙個元素。

end之前我們遍歷file.txt的每一行,並做乙個判斷:在第一行時,每碰到乙個欄位就將其按順序放在res陣列中;從第二行開始起,每碰到乙個欄位就將其追加到對應元素的末尾(中間新增乙個空格)。

文字處理完了,最後需要輸出。在end後遍歷陣列,輸出每一行。注意printf不會自動換行,而print會自動換行。

awk

' else

}}end

}' file.txt

給定乙個包含**號碼列表(一行乙個**號碼)的文字檔案file.txt,寫乙個 bash 指令碼輸出所有有效的**號碼。

你可以假設乙個有效的**號碼必須滿足以下兩種格式:(***) ***-***x***-***-***x。(x表示乙個數字)

你也可以假設每行前後沒有多餘的空格字元。

示例:假設file.txt內容如下:

987-123-4567

123 456 7890

(123) 456-7890

你的指令碼應當輸出下列有效的**號碼:

987-123-4567

(123) 456-7890

cat file.txt |

awk"/^([0-9]-|\([0-9]\) )[0-9]-[0-9]$/"

cat file.txt |

grep -p "^\([0-9]\) [0-9]-[0-9]$|^[0-9]-[0-9]-[0-9]$"

linux使用者和組管理,新增修改使用者,新增修改組,加入組,移除組

零拷貝技術

dma

df -hl 檢視磁碟剩餘空間

df -h 檢視每個根路徑的分割槽大小

du -sh [目錄名] 返回該目錄的大小

du -sm [資料夾] 返回該資料夾總m數

locate命令

文字檔案操作

1 文字檔案的寫入 建立檔案流 filestream filestream new filestream c myfile file.txt filemode.create 建立寫入器 streamwriter sw new streamwriter filestream 以流的方式寫入資料 sw....

文字檔案操作

文字檔案操作 編寫乙個程式demo.py,要求執行該程式後,生成demo new.py檔案,其中內容與demo.py一樣,只是在每一行的後面加上行號以 開始,並且所有行的 符號垂直對齊。filename demo.py with open filename,r as fp lines fp.read...

C 文字檔案操作

如何向現有檔案中新增文字 usingsystem usingsystem.io classtest 如何建立乙個新文字檔案並向其中寫入乙個字串。方法可提供類似的功能。usingsystem usingsystem.io publicclasstexttofile alreadyexists.file...