SHELL用法六(Find語句)


1、SHELL編程Find語句案例實戰
1)SHELL編程四劍客工具:Find、Grep、Sed、Awk,通過四劍客可以完成常規Linux指令無法完成或者比較復雜的功能,學好SHELL編程四劍客有助於SHELL編程能力再上一層樓。
2)SHELL編程四劍客之一的Find工具,主要是用於Linux操作系統去查找某個文件和目錄所在的位置的(絕對路徑),Find工具的語法格式:
find(工具) path(路徑) -option(參數) -action(動作);
find
path
-option
[ -print ]
[ -exec
-ok
command ]

 

 Path路徑:給定find工具一個大概的范圍,從哪個范圍去查找;
 Option參數:按照某些特征:-name、-size、-mtime、-user;
 Action動作:找到文件或者目錄之后執行的操作的動作(打印、執行);
3)SHELL編程四劍客Find工具案例操作一,基於Find工具查找Linux系統下eth0網卡配置文件所在的路徑。
find / -name eth0
find / -name ifcfg-eth0
find / -name "*eth0"
find /etc/ -name "*eth0"
find /etc/sysconfig/network-scripts/ -name "*eth0"

 

4)SHELL編程四劍客Find工具案例操作二,基於Find工具查找Linux系統下auto_mysql_backup.sh所在的路徑。
find / -name auto_mysql_backup.sh
find / -name *mysql_backup*.sh

 

5)SHELL編程四劍客Find工具案例操作三,基於Find工具查找Linux系統下以.rpm結尾的軟件包,並且找到以mariadb命名開頭的包,排除mariadb-libs包。
find / -name "*.rpm"
find / -name "mariadb*rpm"
find / -name "*.rpm" -a -name "mariadb*"
find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*"
find / -name "*.rpm" -a -name "mariadb*" -a ! -name "mariadb-libs*

 

6)SHELL編程四劍客Find工具案例操作四,基於Find工具查找Linux系統下以.rpm結尾的軟件包,並且找到以mariadb命名開頭的包,排除mariadb-libs包,並且將剩余軟件包拷貝至/tmp/目錄。
for soft in `find / -name "*.rpm" -name "mariadb*" ! -name
"mariadb-libs*"`;do cp $soft /tmp/;done
cp `find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*"`
/tmp/
\cp $(find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*")
/tmp/
find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*" -exec cp
{} /tmp/ \;
find / -name "*.rpm" -name "mariadb*" ! -name "mariadb-libs*"|xargs -I {}cp {} /tmp/

 

7)SHELL編程四劍客Find工具案例操作五,查找/data/logs/目錄大於10M並且小於30M的文件,以.log結尾,並且日志文件是3天以前的,並且將其移動至/data/backup/目錄下。
find /data/logs/ -size +10M -size -30M -type f -mtime +3 -name
“*.log”-exec mv {} /data/backup/ \;

 

8)SHELL編程四劍客Find工具案例操作六,查找當前目錄,第一級目錄深度的目錄,排除隱藏文件,並且命名以a開頭的,命令如下:
find . -maxdepth 1 -type d ! -name "\.*" -name "a*"

 

2、SHELL編程Sed語句案例實戰
1)SHELL編程四劍客之二的Sed工具,主要是用於Linux系統文本文件的編輯、打印的,也稱為非交互模式編輯器(vi|vim交互模式編輯器),Sed工具的語法格式:
sed -option(參數) ‘Command’(命令) file(文件對象)
 Option參數:-i(修改)、-n(靜默模式)、-e(擴展)、-l、-b、-c;
 Command命令:p(打印)、d(刪除)、N(多行)、G、D;
2)SHELL編程四劍客Sed工具案例操作一,基於Sed工具將list.txt文件中的用戶名root改為jfedu,命令如下:
sed s/jfedu/root/g list.txt
sed 's#jfedu#root#g' list.txt
sed -i 's#jfedu#root#g' list.txt
sed -e '3s/2/100/g' -e '4s/3/100/g' list.txt
sed '3s/2/100/g;4s/3/100/g' list.txt
sed '3,$s/11/100/g' list.txt

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM