常見處理文字的SHELL命令

2021-07-05 16:47:57 字數 1439 閱讀 5448

1、迴圈讀取

for ip in $(seq 1 4)

dodone

逐行讀取

一、for line in $(cat a.txt)

doecho $line

done

二、cat a.txt| while read line

doecho $line

done

三、while read line

doecho $line

done < a.txt

2、字元過濾

grep -v aaa

-i 不區分大小寫

-w 全匹配

-v 排除

3、字串切割

1)[oracle@orax ~]$ echo "1=5=3=4" |cut -d '=' -f 2

cut命令主要是接受三個定位方法:

第一,位元組(bytes),用選項-b

第二,字元(characters),用選項-c

第三,域(fields),用選項-f

如kill含有xuanxx的所有程序

ps -ef|grep xuanxx|cut -c 10-15|xargs kill 9

2) [oracle@orax ~]$ echo "1=5=3=4" |awk -f"=" ''

34、字元替換

sed -i  's/xuan/xuan/g' a.txt   

sed的詳細用法

5、統計

wc -l  總行數

wc -l 字元長度

6、查詢和處理

1)時間查詢 

兩天前[oracle@orax ~]$ find /home/oracle/ -type  f -mtime +2 -name *txt

前兩天到現在

[oracle@orax ~]$ find /home/oracle/ -type  f  -maxdepth  1 -mtime -2 -name *txt

2)排序

[oracle@orax ~]$ sort a.txt 

倒序   sort -r  a.txt

3)去重

cat a.txt|sort|uniq 

3)批量處理

[oracle@orax ~]$ find /home/oracle/ -type  f -mtime +2 -name *txt  -exec rm {} \;

[oracle@orax ~]$ find /home/oracle/ -type  f -mmin +60 -name *txt  -exec rm {} \;

查詢包含內容檔案

find /home/gbase/xuanxx/ -type -f |xargs grep "ip" -l \;

字符集替換

$a=***_n1

echo $

***_n2



shell處理文字

1 grep 同時滿足多個關鍵字和滿足任意關鍵字 grep e word1 word2 word3 file.txt 滿足任意條件 word1 word2和word3之一 將匹配。grep word1 file.txt grep word2 grep word3 必須同時滿足三個條件 word1 w...

shell中文字處理命令 grep命令

4.正規表示式和grep結合的例子 引數說明 c只輸出匹配行的數量 i搜尋時忽略大小寫 h查詢多檔案時不顯示檔名 l只列出符合匹配的檔名,而不列出具體的匹配行 n列出所有的匹配行並顯示行號 s不顯示不存在或無匹配文字的錯誤資訊 v顯示不包含匹配文字的所有行 w匹配整詞 x匹配整行 r遞迴搜尋,不僅搜...

SHELL基本的文字處理命令(二)

sed stream editor 一次處理一行內容,處理時,把當前的行儲存在臨時緩衝區,處理完後,輸送到螢幕 sed 引數 命令 file p 顯示 d 刪除 a 新增 c 替換 i 插入 1.p 顯示 sed n p etc fstab sed n p etc fstab sed n p etc...