Linux系列之文字操作命令
前言
Linux 有八個常用的文字操作命令: cat
、 head
、 tail
、 nl
、 grep
、 sed
、 more
、 less
。本文介紹它們的區別和簡單用法。
cat命令
顯示文字的最基本命令。
cat file
cat /usr/share/metasploit-framework/data/wordlists/passwd.lst
cat
命令不是最方便的命令,但卻十分快捷。
head命令
該命令將顯示檔案的前10行(預設情況下)。
head filename
如果你想顯示指定的行數,請在 head
命令後使用 -
來指定。
head -20 passwd.lst
tail命令
該命令與 head
命令相反,將顯示檔案的最後10行(預設情況下)。
tail filename
如果你想顯示指定的行數,請在 tail
命令後使用 -
來指定。
tail -20 passwd.lst
nl命令
顯示帶有行號的檔案。
nl file
如果你用管道輸出到它,它使參考變得更容易。
head -35 passwd.lst | nl
grep命令
可能是使用最廣泛的文字處理命令。關於這個命令,有好幾本書。
cat file | grep keyword
它可以讓你過濾顯示檔案的內容。
cat passwd.list | grep output
結合前面的命令,讓我們檢視passwd.lst第20至50行中所有含有23的字詞。
head -50 passwd.lst | tail -30 | grep 23 | nl
-
head -50 passwd.lst
表示我們想要顯示前50行。 -
tail -30
表示想要從head
命令得到的前50行裡的最後30行,也就是20-50行。 -
grep 23
將只顯示包含23的行。 -
nl
將顯示行數。
sed命令
這個命令可以讓你搜索出現的單詞或測試模式,然後對它執行一些操作。類似於Windows中的查詢和替換。 sed
中的命令以單個字母開頭。
s
是替換命令:
echo "gwyn" | sed 's/gwyn/gps'
讓我們使用 sed
在 snort.conf
檔案中找到 mysl
的所有例項,並將其替換為 MySQL
,並將該檔案儲存為當前目錄中的 snorttest.conf
。
sed s/searchterm/replacementterm/occurence
這裡的 g
代表全域性,意味著替換髮生的所有例項。
sed s/mysql/MySQL/g /etc/snort/snort.conf > snorttest.conf
你可以通過在末尾使用 /1
、 /2
等來指定你要替換的行的哪一次出現。
我們假設我們有一個 textfile.txt
檔案:
gwyn gps gwyn gps gps gwyn gps gps gps
我們如何才能在每一行中只將第二次出現的 gps
替換為 gwyneth
?
sed s/gps/gwyneth/2 textfile.txt > sample.txt
現在,如果我們想只在第三行中替換第二個出現的內容,該怎麼辦?我們可以在 s
命令的前面加上一個數字來表示。
sed 3s/gps/gwyneth/2 textfile.txt > sample2.txt
讓我們看看在 snort.conf
中, mysql
每次出現的地方:
並將第二行中出現的每一個 mysql
替換為 dogs
,並將其儲存到 sample2.txt
。
more命令
每次顯示檔案的一頁,並允許分頁。
more file
more snort.conf
less命令
與 more
命令類似,只不過更加實用。畢竟少即是多。
less file
如果你按下 /
鍵, less
將允許你在檔案中搜索術語。
less snort.conf
在這裡,我按下 /
鍵,並鍵入選項:
less
帶我到第一個發生的地方,按 n
鍵是下一個。
總結
就這樣吧,我終於開始理解把這些命令連在一起的強大力量了。
- 執行緒池底層原理詳解與原始碼分析
- 30分鐘掌握 Webpack
- 線性迴歸大結局(嶺(Ridge)、 Lasso迴歸原理、公式推導),你想要的這裡都有
- 【前端必會】webpack loader 到底是什麼
- 中心化決議管理——雲端分析
- HashMap底層原理及jdk1.8原始碼解讀
- 詳解JS中 call 方法的實現
- 列印 Logger 日誌時,需不需要再封裝一下工具類?
- 初識設計模式 - 代理模式
- 密碼學奇妙之旅、01 CFB密文反饋模式、AES標準、Golang程式碼
- Springboot之 Mybatis 多資料來源實現
- CAS核心思想、底層實現
- 面試突擊86:SpringBoot 事務不回滾?怎麼解決?
- 基於electron vue element構建專案模板之【打包篇】
- MiniWord .NET Word模板引擎,藉由Word模板和資料簡單、快速生成檔案。
- 認識執行緒,初始併發
- 1-VSCode搭建GD32開發環境
- 初識設計模式 - 原型模式
- 執行緒安全問題的產生條件、解決方式
- 2>&1到底是什麼意思?