系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux Shell文本處理命令

Linux Shell文本處理命令匯總(2)

時間:2014-12-31 15:50:39 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20141231/33843.html 手機查看 評論

  •執(zhí)行動作(強大的exec)

  代碼如下:

  find 。 -type f -user root -exec chown weber {} \; //將當前目錄下的所有權(quán)變更為weber

  注:{}是一個特殊的字符串,對于每一個匹配的文件,{}會被替換成相應的文件名;

  eg:將找到的文件全都copy到另一個目錄:

  代碼如下:

  find 。 -type f -mtime +10 -name “*.txt” -exec cp {} OLD \;

  •結(jié)合多個命令

  tips: 如果需要后續(xù)執(zhí)行多個命令,可以將多個命令寫成一個腳本。然后 -exec 調(diào)用時執(zhí)行腳本即可;

  代碼如下:

  -exec 。/commands.sh {} \;

  -print的定界符

  默認使用’\n’作為文件的定界符;

  -print0 使用’\0′作為文件的定界符,這樣就可以搜索包含空格的文件;

  grep 文本搜索

  grep match_patten file // 默認訪問匹配行

  •常用參數(shù)

  -o 只輸出匹配的文本行 VS -v 只輸出沒有匹配的文本行

  -c 統(tǒng)計文件中包含文本的次數(shù)

  代碼如下:

  grep -c “text” filename

  -n 打印匹配的行號

  -i 搜索時忽略大小寫

  -l 只打印文件名

  •在多級目錄中對文本遞歸搜索(程序員搜代碼的最愛):

  代碼如下:

  grep “class” 。 -R -n

  •匹配多個模式

  代碼如下:

  grep -e “class” -e “vitural” file

  •grep輸出以\0作為結(jié)尾符的文件名:(-z)

  代碼如下:

  grep “test” file* -lZ| xargs -0 rm

  xargs 命令行參數(shù)轉(zhuǎn)換

  xargs 能夠?qū)⑤斎霐?shù)據(jù)轉(zhuǎn)化為特定命令的命令行參數(shù);這樣,可以配合很多命令來組合使用。比如grep,比如find;

  •將多行輸出轉(zhuǎn)化為單行輸出

  cat file.txt| xargs

  \n 是多行文本間的定界符

  •將單行轉(zhuǎn)化為多行輸出

  cat single.txt | xargs -n 3

  -n:指定每行顯示的字段數(shù)

  xargs參數(shù)說明

  -d 定義定界符 (默認為空格 多行的定界符為 \n)

  -n 指定輸出為多行

  -I {} 指定替換字符串,這個字符串在xargs擴展時會被替換掉,用于待執(zhí)行的命令需要多個參數(shù)時

  eg:

  代碼如下:

  cat file.txt | xargs -I {} 。/command.sh -p {} -1

  -0:指定\0為輸入定界符

  eg:統(tǒng)計程序行數(shù)

  代碼如下:

  find source_dir/ -type f -name “*.cpp” -print0 |xargs -0 wc -l

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

官方交流群 軟件收錄