2016-12-29 207 views
1

我有文字如下:刪除換行符?使用awk?

-rw-r--r-- 1 502  136  2607104 Dec 15 11:05 YUH985335 
-rw-r--r-- 1 502  136  2433024 Dec 15 11:06 YUH985336 

我想結果變成這樣

15-Dec-2016_11:05 YUH985335 2607104 
15-Dec-2016_11:06 YUH985336 2433024 

我試試這個代碼

awk -v year=${year} {print $7"-"$6"-"year"_"$8, $9, $5} 

但結果已在中間

新線
15-Dec-2016_11:05 YUH985335 
2607104 
15-Dec-2016_11:06 YUH985336 
2433024 

如何在awk中刪除第$9列的換行符?

+0

你確定這是確切的代碼(例如,它是否缺少''s)?沒有'RS'設置某處或某事,只是'RS'不會導致?你可以試試'sub(/ \ n /,「」,$ 9)'。 –

+2

你應該試試並解析ls –

+0

'ls -l --time-style = +%d-%b-%Y_%H:%M'? –

回答

2

@Dwi Yanuar:請您試試以下內容並告訴我是否有幫助。

awk -v year=${year} '{printf("%d-%s-%d_%d %d %d\n",$7,$6,year,$8,$9,$5)}' Input_file 
+1

wow awk'printf'like c language,thx bro –