2017-05-31 73 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--和其他单引号之前看起来靠不住的。这种方式更快地阅读。