1. 程式人生 > 其它 >Linux筆記(5)—— 文字內容編輯命令

Linux筆記(5)—— 文字內容編輯命令

重定向符號說明

>:重定向符號,表示清楚原檔案裡面的所有內容,然後把內容追加到檔案的末尾。

>>:為追加重定向符號,即追加內容到檔案的尾部。

echo:顯示輸出文字的內容

將 指定文字 中現在Linux命令列上或者通過重定向符寫入到指定的檔案中。

# 語法格式
echo [選項] [文字]
[root@local  ~]# echo hello world!    # 其中hello world!也可以使用單引號或雙引號括起來(建議括起來,規範)
hello world!

[root@local  ~]# echo "hello world" >>hello.txt    # 使用追加重定向符號>>將文字寫入檔案
[root@local  ~]# cat hello.txt
hello world

[root@local  ~]# echo -e "hello\tworld"     # 使用選項 -e 可以識別\t特殊字元
hello	world

[root@local  ~]# echo -n "12345"; echo "12345"     # 使用-n選項可以輸出一行,不換行
1234512345

# 此外,還可以列印變數內容
[root@oldboy ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

cat:合併檔案或檢視檔案內容

  • 連線多個檔案並且列印到螢幕輸出,可以顯示單個檔案內容,也可以將幾個檔案內容連線起來一起顯示;
  • 或者重定向到指定檔案中。常與重定向或追加符號配合使用;
# 語法格式
cat [選項] [檔案]      # 每個元素之間至少有一個空格
cat命令常用功能
cat命令引數選項及說明
# cat 命令在生產環境中使用非互動式編輯檔案或追加內容

[root@local ~]# cat >test.txt<<EOF           # 這裡使用>的話,如果不是空檔案的話,編輯的內容會覆蓋原內容,追加的話,可以使用>>
> hello boy
> hello gril
> EOF                           # 必須使用EOF結尾。不然會一直出現輸入提示符
[root@local ~]# cat test.txt
hello boy
hello gril

# 使用-n或-b可以顯示行號,不過-b 會去掉空白行
[root@oldboy ~]# cat test.txt 
hello boy

hello gril
[root@oldboy ~]# cat test.txt  -n
    [root@oldboy ~]# cat test.txt  -b
[root@oldboy ~]# cat test.txt  -b
     1	hello boy
     2
     3	hello gril
     
# cat 連線顯示多個檔案
[root@oldboy ~]# cat test.txt test2.txt
hello boy
hello gril
hello boy           # 兩個檔案一起顯示,有優先順序,靠前的文字先顯示

hello gril

more:分頁顯示檔案內容

more命令會一頁一頁的顯示檔案的內容。

# 語法格式
more [選項] [檔案]

more命令引數的選項及說明

[root@local ~]# more -5 /etc/profile
# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

--------# 只會顯示檔案的5行內容----------------

more命令的互動式子命令及說明

互動模式下,使用more命令開啟文字後,會進入一個互動介面,在這個介面可以使用部分vi編輯器的功能。

less:分頁顯示檔案內容

less命令是more命令的更高階版本。

# 語法格式
less [選項] [檔案]
less命令的引數選項及說明
less命令的互動式子命令及說明

head/tail :顯示檔案內容頭部/尾部

  • head命令用於顯示檔案頭部,預設執行head命令會輸出檔案的開頭前十行。
  • tail命令用於顯示檔案尾部,預設執行head命令會輸出檔案的最後十行。
# 語法格式
head/tail [選項] [檔案]

tac 按行翻轉檔案內容(和cat相反)不常用

tac命令不僅在外型上與cat命令相反,其功能也是如此。

cat是將檔案內容順序輸出到螢幕上,而tac命令是將文字內容,按行反向輸出到螢幕上。(每行的字元反向輸出,行序也是倒的。)

[root@local ~]# cat test.txt
123456
abcdef

[root@local ~]# tac test.txt
fedcba
654321

-a,—append:將內容追加到檔案的末尾;
-i,—ignore-interrupts:忽略中斷訊號。
-b, --before: 在行前新增分隔符。
-r, --regex: 把分隔符當作正則表示式來解析。
-s, --separator=STRING: 使用指定字串代替新行作為分隔符。

rev 左右按字元翻轉行的內容

類似tac命令,但是行序不會變化,只是每一行的字元順序會反轉。

[root@local ~]# cat test.txt
123456
abcdef

[root@local ~]# rev test.txt
654321
fedcba

tr:替換或刪除字元

tr命令從標準輸入中替換、縮減、刪除字元,並將結果寫到標準輸出。

# 語法格式
tr [option] [set1] [set2]

[root@local ~]# tr 'abc' '123' < test.txt   # 將測試檔案中的"abc"替換為"123",<為重定向符號。

# 最後結果不僅僅是字串abc替換成字串123,其中a-1;b-2;c-3,會依次對應
# 如果字串set1的字元比字串set2的多,則會從頭迴圈,重新將字串set2再替換一遍,以此類推。

[root@local ~]# tr -d '123' < test.txt     # 使用引數-d,將檔案中的123都刪除掉,包活1,2,3