1. 程式人生 > 資訊 >聯發科天璣 9000 5G 旗艦晶片釋出:臺積電 4nm 製程、Armv9 架構,手機將於明年一季度上市

聯發科天璣 9000 5G 旗艦晶片釋出:臺積電 4nm 製程、Armv9 架構,手機將於明年一季度上市

1. 文字處理命令

# 補充知識點

1. sort命令
預設根據第一個字母排序
    用於將檔案內容加以排序
    -n  依照數值的大小排序
    -r  以相反的順序來排序
    -l  以某列進行排序
    -t  以指定分隔符,預設是以空格為分隔

2. uniq命令
cat xx.txt | uniq
用於檢測以及刪除文字檔案中重複出現的行列,一般與"sort"命令結合使用
# 先排序再去重,不然只會去除相鄰的重複的行列
    -c  在每列旁邊顯示該行重複出現的次數
    -d  僅顯示重複出現的行列
    -u  僅顯示出現一次的行列

3. cut命令
cat xx.txt | cut -d '|' -f2
cut命令用來顯示行中的指定部分,刪除檔案中的指定欄位
    -d  指定欄位的分隔符,預設的欄位分隔符為"tab"
    -f  顯示指定欄位的內容-fn

4. tr命令
cat xx.txt | tr 123 345
# 非整體替換,所有的1,2,3替換成3,4,5
替換或刪除命令
    -d  刪除字元

5. wc命令
wc -l xx.txt
統計,計算數字命令
    -c  統計檔案的Bytes數
    -l  統計檔案的行數
    -w  統計檔案中單詞的個數,預設以空白字元作為分隔符
    "注:"在Linux系統中,一段連續的數字或字母組合為一個詞。


2. Linux三劍客之sed

sed是Linux中,流媒體編輯器。
stream Editor
grep:用來過濾文字
sed :用來修改文字
awk :用來處理文字

1. "sed格式:"
    sed [引數] "處理規則" [操作物件]

2. "引數:"
    -e  執行多項編輯
    -n  取消預設輸出
    # sed -e '3d' -e '6d' -n xx.txt
	
    -i  就地編輯
    # sed -i '5p' 4.txt

    -r  支援拓展正則
    # sed -r '/123/d'  4.txt
	
    -f  指定sed匹配規則指令碼檔案
    # 檔案中定義了匹配規則r.txt
    """
    vim r.txt
    sed -f r.txt  xx.txt
    """

3. "定位:"#(非常重要)
    1. 數字定位法
        指定行號
        sed '3d'  xx.txt  # 3是數字定位法
        sed '2,3d'  xx.txt  # 第二行到第三行

    2. 正則定位法
        指定正則定位
        sed '/g/d'  xx.txt
        sed '/^g/d'  xx.txt
	
    3. 數字和正則定位法
        sed '3,/^g/d'  xx.txt
        # 第三行到以g開頭的行都刪除

    4. 正則正則定位法
        sed '/^g/,/^j/d'  xx.txt

4. "sed的編輯模式:"
單引號
sed '3d'  xx.txt  # 刪除第三行
sed -e '3d' -e '6d' xx.txt 刪除3,6行  # 執行多項編輯
    d  刪除
    p  列印
    # sed -n '5p'  xx.txt

    a  在某一行後新增一行或多行
    sed '2axxx'  xx.txt  # 在第二行之後新增xxx

    c  用新的文字修改(替換)當前行
    sed '2cxxx'  xx.txt

    i  在當前行之前插入文字
    # 此功能是單獨使用時
    sed '2ixxx'  xx.txt

    r  在檔案中讀內容
    r.txt  -- /123/d
    sed '2r r.txt'  xx.txt

    w  將指定行寫入檔案
    sed '2w w.txt'  xx.txt

    y  將"字元"轉換成另一個"字元"
    sed '2y/f/F'  xx.txt
    # 替換字元,不是替換整體

    s  將字串轉換成另一個字串
    # 每行只替換一次
    vim xx.txt 123456710111212s1233443
    sed 's/11/22'  xx.txt

    g  全部執行,應用於整行裡面的所有內容
    # 是執行,沒有單獨的替換功能
    sed 's/11/22/g'  xx.txt
 
    i  忽略大小寫
    # 與s模式一起使用
    sed 's/f/abc/gi'  xx.txt

    &  代表前面匹配到的內容

3. 案例

1. 將nginx.conf 中的註釋行全部去掉
sed '/ *^#/d'  /etc/nginx/nginx.conf

2. 將nginx.conf 中每一行之前增加註釋
sed 's/.*/#&/g'  /etc/nginx/nginx.conf

3. 要求一鍵修改本機的ip
192.168.15.100  -- 192.168.15.101
172.16.2.100  -- 172.16.2.101
sed -i 's#.100#.101#g'  /etc/sysconfig/network-scripts/ifcfg-eth[01]

4. 將/etc/passwd中的root修改成ROOT
sed -i 's/root/ROOT/g'  /etc/passwd