【问题标题】:unable to redirect data by using awk or cat无法使用 awk 或 cat 重定向数据
【发布时间】:2017-05-31 10:59:13
【问题描述】:

我将 AIX 用于以下代码:

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

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

它正在生成一个名为“oxb1du”的未知文件。 另外,我可以在ls -ltr 之后看到文件op2.txt,但它不包含任何数据。

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

【问题讨论】:

  • cat -A ip.txt 显示什么?
  • @OP 你好像误会了什么。

标签: linux bash shell unix sh


【解决方案1】:

也许你正在寻找:

cat ip.txt | awk '{print $2,$1}' > op.txt

【讨论】:

    【解决方案2】:

    您的文件中可能包含二进制字符。请先尝试清洁它。

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

    dos2unix 和其他程序可能会工作,但我遇到了 dos2unix 只删除回车而不删除其他垃圾的问题,所以我给了你上面的内容(显然分配或替换变量)。然后只需使用:

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

    我只是为了可读性而更改了引号——让它们远离 -F,并且在其他单引号看起来不可靠之前。这种方式阅读速度更快。

    【讨论】:

      猜你喜欢
      • 2017-10-31
      • 1970-01-01
      • 2020-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-12
      • 1970-01-01
      • 2010-10-31
      相关资源
      最近更新 更多