1.有時在寫一些以迴圈方式執行的監控指令碼,設定時間間隔是必不可少的,下面是一個Shell進度條的指令碼演示在指令碼中生成延時。
#!/bin/bash
b=''
for ((i=0;$i<=100;i++))
do
printf "Progress:[%-100s]%d%%\r" $b $i
sleep 0.1
b=#$b
done
echo
2. 將當前目錄下的txt檔案複製到/home/xiong/doc目錄下
ls *.txt| xargs -n1 -I {} cp {} /home/xiong/doc
3. 假如你有一個檔案包含了很多你希望下載的URL,你能夠使用xargs下載所有連結:
cat 1.txt | xargs wget -c
4. tr命令可以對來自標準輸入的字元進行替換、壓縮和刪除。它可以將一組字元變成另一組字元,經常用來編寫優美的單行命令,作用很強大。
引數:
字符集1:指定要轉換或刪除的原字符集。當執行轉換操作時,必須使用引數“字符集2”指定轉換的目標字符集。但執行刪除操作時,不需要引數“字符集2”;
字符集2:指定要轉換成的目標字符集。
#大寫轉小寫
echo "HELLO WORLD" | tr 'A-Z' 'a-z' hello world
#刪除指定字元
echo "hello 123 world 456" | tr -d '0-9'
5. 字符集補集,從輸入文字中將不在補集中的所有字元刪除:
echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n'
1 2 3 4
6.用tr壓縮字元,可以壓縮輸入中重複的字元:
echo "thisssssssssss is a text linnnnnnnnnnnnnnnnnnne."|tr -s ' sn'
this is a text line.
7. 巧妙使用tr做數字相加操作:
echo 1 2 3 4 5 6 7 8 9 | xargs -n1 | echo $[ $(tr '\n' '+') 0 ]
45