linux下很多命令用起來真相當方便,尤其是進行批處理操作時。(話說感覺這種程式也不複雜,windows咋一直不搞乙個好用的shell呢)
這裡列出一些實際shell操作的應用場景,具體命令的用法與解釋就不列了,網上有很多很好的教程。
可以當做練習題練練手。
當前目錄下有若干.wma檔案,要把它們批量轉成.***檔案
例: 001.wma -> 001.***
解決方案:
# solution 1
ls * | awk -f '.' '' | bash
# solution 2
ls * | perl -e 'while(<>)' | bash
# solution 3
ls * | perl -e 'while(<>)'
有乙個檔案test.txt,每行內容用\t分隔,要檢視每行有多少列
解決方案:
cat test.txt | awk ''
有乙個檔案file.txt,每一行記錄了乙個檔案路徑,例:
a.txt
b.txt
c.txt
現在要把這些檔案都拷貝到另乙個資料夾target中去
解決方案:
while read f do; cp $f target/$f;done < file.txt
複雜一點,考慮file.txt中的檔案路徑如下,例:
srcdir/a.txt
srcdir/b.txt
srcdir/b.txt
現在要把這些檔案都拷貝到另乙個資料夾target中去(難點在於檔案路徑中包含了兩級目錄,需要先從中提取檔名)
解決方案:
while read f do; echo $f | awk -f '/' '' | bash; done < file.txt
有乙個檔案為file.txt,要把它複製成4份並命名為:file.1.txt, file.2.txt, file.3.txt, file.4.txt
解決方案:
#solution 1
for i in 1 2 3 4;do cp file.txt file.$i.txt;done;
#solution 2
for ((i=1;i<=4;++i));do cp file.txt file.$i.txt;done;
持續更新…… 做一行愛一行
2013年9 月30日13 04 34 地點 公司 筆者 小菜 it界高手很多,謙虛進步自己 目前適合 android iphone 在除錯階段 內容 今天是九月的最後一天了,也沒有太多的心思的編寫 了,看看這個月的工作效率,確實不是很高。最近也在看一本書,可能很多的博友都知道這本書的 程式設計師你...
linux shell 將多行檔案轉換為一行
說實話,雖然對shell程式設計包括awk有所了解,但是對sed的多行與一行的處理還是不甚理解,在網上蒐羅了一篇文章覺得還不錯,記錄一下 今天乙個工程師問我,怎麼將乙個檔案中的多行轉換成一行。我給出了如下三種方法 1.採用awk awk begin file 說明 awk預設將記錄分隔符 recor...
linux shell 將多行檔案轉換為一行
1.採用awk awk begin file 說明 awk預設將記錄分隔符 record separator即rs 設定為 n,此行 將rs設定為eof 檔案結束 也就是把檔案視為乙個記錄,然後通過gsub函式將 n替換成空格,最後輸出。2.採用sed sed a n s n t a file 說明...