1. 程式人生 > >linux命令文字操作隨筆記

linux命令文字操作隨筆記

以下是我在學習linux命令的時候隨手記的一些命令:


文字切割:
cut -d";" [file]   自定義分割符   -b 按位元組   -c 按字元
echo "123" | cut -c 1                // 按字元切割,取第一個字元
echo "123" | cut -c 1-2,3            // 按字元切割,取第123個字元
echo "1,2,3" | cut -d, -f1-2,3       // 自定義,分割,取1-3
 


sed 文字操作
      -n 安靜模式,處理哪行列出哪行
      -e 直接在指令列模式上進行sed的動作編輯
      -f 直接將sed的動作寫到一個檔案裡    -f filename
      -r 正則
      -i 修改並儲存
      命令:a 新增  c取代(指定位置,全部替換,區間) d刪除 i插入 p列印 s取代(替換部分或全部)

sed -i '1a hello' test.txt    在test.txt第一行後面新增hello
sed -i '1,3c hello' test.txt  將test.txt中1-3行替換成hello
sed -i '1d' test.txt          將test.txt中第一行刪除
sed -i '1,3i hello' test.txt  在test.txt第1-3行下面加是加上hello行
sed -i '1,3s/old/new/g' test.txt  在test.txt中將1-3行中的old替換成new
sed -i 's/^test.*$/hello world/' test.txt 將test.txt中以test開頭的行用hello world替換
*號的含義,對*之前的符號匹配0個或多個   
1,3c   1和3都可以使用正則匹配進行替換
!d 刪除沒有匹配到的行


grep 文字搜尋
    -c 輸出匹配行數
    -v 顯示不包含匹配文字的所有行
    -n 顯示匹配行及行號
    -i 不區分大小寫
    -h 查詢多檔案時不顯示檔名
    -s 不顯示不存在或無匹配文字的錯誤資訊



檔案搜尋  
find / -name "*.txt"


less 檢視檔案 可直接跳最後檢視
cat  檢視檔案
tail 檢視檔案
tail -f 檢視檔案,會動態更新
tail -F 刪除檔案再次建立後,會自動再次監聽
touch 修改檔案的時間屬性   touch file  修改檔案的時間屬性為當前系統時間(檔案不存在,建立)



awk 文字操作
     awk -F "分割符" 'BEGIN {print NF} {print NR} END {print "end"}' test.txt
     cat test.txt | awk ...
     awk -F " "  '{for(i=0;i<3;i++) print i}' test.txt
     awk -F " "  '/test/{print NR}' test.txt


cp   -f 強制複製
       -i 複製之前詢問
       -r 遞迴處理
       -b 覆蓋已存在檔案之前先將目標檔案備份
       -v 詳細顯示命令執行操作


$$ 當前指令碼的pid
$? 上個函式的返回
$# 引數個數
$0 檔名
$1 第一個引數
$* 所有引數 "a b c d"
[email protected] 所有引數 "a" "b" "c" "d"