跳到主要內容

發表文章

目前顯示的是 2015的文章

DOS斷行字元

DOS環境下編輯的文件會有額外的斷行字元:^M$ 如果到Linux上編輯作業,會有一些問題,所以必須要把他轉成Linux可用的格式。 首先可以透過cat -A test.txt來確認斷行字元,看看最後面有沒有^M$。 接著使用dos2unix這個套件來轉換文件,如果沒安裝的話可以用yum install -y dos2unix來安裝。 yum install -y dos2unix dos2unix test.txt 如此一來就可以輕鬆轉換test.txt成unix格式。

Linux中取得exit code

在撰寫自動化腳本中常常需要配合不同的shell script來完成一連串的工作,有時候就需要判斷一個script是否正確完成來決定要不要繼續執行,這時候可以使用$?來取得上一個程式執行的exit code。 首先先有一個簡單的scrpt test1.sh,讓他exit 1: #!/bin/bash # test1.sh exit 1 接著有另外一個script test2.sh來執行test1.sh,並且判斷exit code #!/bin/bash # test2.sh bash test1.sh RETVAL=$? if [ $RETVAL == '1' ]; then echo FAIL else echo SUCCESS fi 執行結果,因為test1.sh的exit code是1,所以test2.sh會print出FAIL # bash test2.sh FAIL

awk 使用筆記

好用強大的awk,天天都有新驚奇。 主要適用於處理格式化資料,可以用簡單的一行指令來取出有用的資料。 範例一: 使用指定的字元來做分隔符號 由於預設是用空白字元來區別欄位,有時候資料內容像是CSV檔案是用逗點來分隔,就需要用都點來分隔。 test.txt 1, apple, $30 2, book, $15 3, cat, $9 cat test.txt | awk -F ',' '{print $2","}' -F 代表 field separator,使用','作為分隔符號,然後印出第二欄。 執行結果: [root@localhost tmp]# cat test.txt | awk -F ',' '{print $2","}' apple, book, cat, 需要多分隔符號的情況可用 -F '[,;]' 來代表',' 以及';'都需要當作是分隔符號來處理。