我有一個文件,其中有多列需要根據需求進行處理。我發現了一個腳本,使用變量這樣做,但我不希望與變量做到這一點,因爲這使我的代碼更復雜sed命令編輯多個條件下的文件
文件:
Id,Name,class,Section
1,Dileep,MBA,B
2,Pavan,tenth,C
3,Girish,graduate,D
我的輸出文件應該是這樣的 -
文件:
Id,Name,Class,Section
1,Dileep,MBA,B
2,Pavan,MCA,C
3,Girish,MBA,D
我用sed命令來做到這一點,下面是我爲這個創建的腳本。
#! /bin/sh
file=/tmp/dileep/details.txt
cat $file | sed '/Id,Name,/s/class/**C**lass/g' | tee -a $file
cat $file | sed '/2,Pavan,/s/tenth/**MCA**/g' | tee -a $file
cat $file | sed '/3,Girish,/s/graduate/**MBA**/g' | tee -a $file
我能夠得到第一線改變了一個有頭,但不是實際的數據,這將是硬編碼的數據,我可以做出這種改變。
您能否讓我知道我做錯了什麼,以及我如何才能糾正錯誤。
不能使用'這樣tee'。只要輸入文件大於「tee」使用的緩衝區大小,就會丟失輸入文件。 – hek2mgl
當'2,Pavan'開始行時,你只想用'MCA'取代'tennth'?或者你爲什麼要做'/ 2,Pavan,/ s /第十/ ** MCA **/g',而不僅僅是第/十/ ** MCA **/g'? – hansaplast
我想檢查的條件,如果2,帕文然後將其更改爲MCA,如果類是第十,類似的其他人,我需要驗證是否找到所需的內容,然後我需要將其更改爲所需的值 – Dileep