2017-04-01 57 views
-1

我想用sed編輯一個文件,我的目標是刪除數字之間的空格,但在第一個單詞之後保留它(例如Water 1983 02 13, - 1984 02 1 ,變成水,19840213,1984021) 這是我目前的命令:使用SED刪除第一行後的空格

awk '{print $10,$4,$2,$3,$5,$8,$6,$7}' czodiac | sed 's/Feb/02/g;s/Jan/02/g;s/–//g;s/ //g;s/,$//g' 

輸出至今:Water19830213,1984021

+2

你似乎是打印一堆空間在你的第一個命令,然後請求第二個命令再次將其刪除。只是不打印他們可能會更有意義。如果你張貼一些樣本輸入('czodiac'的內容)和預期輸出,我們可以幫助你。 –

+0

謝謝埃德,答案已經提供。 –

+2

**提供了一個**答案。考慮到「我正在削減自己,我該如何阻止流血?」這個問題,答案將是「在其上放置一個繃帶」,但是可能完全是一個更好的方法...... –

回答

1

考慮:

$ echo "$s" 
Water 1983 02 13, - 1984 02 1 

你可以d ○:

$ echo "$s" | awk '{sub(/ /,","); sub(/, - /,","); gsub(/[ ]+/,"")}1' 
Water,19830213,1984021 
+0

謝謝,這很有效好。我沒有意識到awk中的子:D –

0

sed 'h; s/[^ ]*//; s/ //g; x; s/ .*/ /; G'