在 Solaris 和 Linux 中组合两个文件的常见方法

在 Solaris 和 Linux 中组合两个文件的常见方法

我正在尝试编写一个脚本,将两个文件合并为一个,并且应该在 Solaris 5.10 和 Linux 机器上运行。

文件1:

dit710
dit710
dit720
dit720

文件2:

FacA D0000000000000001
FacA D0000000000000002
FacA D0000000000000030
FacB D00000000000000980

期望的输出:

dit710,FacA,D0000000000000001
dit710,FacA,D0000000000000002
dit720,FacA,D0000000000000030
dit720,FacB,D00000000000000980

我尝试了什么?

paste File1 File2 |nawk '{$1=$1}1' OFS=","

(以上命令在 Solaris 中有效,但在 Linux 中无效)

paste File1 File2 |awk '{$1=$1}1' OFS=","

(以上命令在 Linux 中有效,但在 Solaris 中无效)

我正在使用科恩外壳。有人可以建议另一种在 Solaris 和 Linux 中都有效的方法吗?

请注意,File2 可能包含超过 3 列,但列数始终相同。

答案1

我能够自己解决这个问题,但我不会称之为直接的方法。由于 awk 在 Linux 中工作,但 nawk 不能工作,因此我在 Linux 主机中创建了一个软链接,将 nawk 重定向到 awk。现在我可以在 Solaris 和 Linux 中使用 nawk,没有任何问题。

ln -s /bin/awk /bin/nawk

相关内容