2017-05-31 70 views
-1

我使用AIX爲下面的代碼數據重定向:無法使用AWK或貓

#!/bin/sh 
cat ip.txt | awk -F ' ' '{print $2,$1}' >op.txt 

awk -F ' ' '{print $2,$1}' ip.txt > op2.txt 

它生成一個名爲「oxb1du」未知文件。 Aslo,我可以在ls -ltr之後看到文件op2.txt,但它不包含任何數據。

I/P file: 
    name 1 
    info 21 
    city 28 
    pin 31 
    state 34 
+1

'cat -A ip.txt'顯示什麼? – anubhava

+0

@OP你似乎誤解了一些東西。 –

回答

0

也許你正在尋找:

​​3210
0

你可能在你的文件的二進制字符。先嚐試清潔它。

tr -cd '[:graph:]\n\t ' <"$file" >$TEMP_FILE && mv $TEMP_FILE "$file" 

DOS2UNIX的和其他程序可以工作,但我已經受夠了DOS2UNIX的問題,只有去除回車,而不是其他的垃圾,所以我已經給你上面的(顯然分配或替換變量)。然後,只需使用:

awk -F" " '{print $2,$1}' ip.txt > op2.txt 

我只是改變了引號讓他們掛在離-F readability--和其他單引號之前看起來靠不住的。這種方式更快地閱讀。