Articles of gawk

使用AWK从两个文件中分解n个列

我有两个N列数的文件 文件1: A 1 2 3 ……. Na1 B 2 3 4 ……. Nb1 文件2: A 2 2 4 ……. Na2 B 1 3 4 ……. Nb2 我想要一个输出从File1的第一列值将被从File2的第一列中减去,这样直到列N如下所示: A -1 0 -1 …….. (Na1-Na2) B 1 0 0 …….. (Nb1-Nb2) 如何在Linux环境中执行AWK或Perl脚本?

使用sed更改文件中的string?

我有一个模板input文件,如下所示。 我想改变版本:使用sed。 Package: somename Priority: extra Section: checkinstall Maintainer: joe@example.com Architecture: i386 Version: 3.1.0.2-1 Depends: Provides: somename Description: some description 目前,我正在使用grep -m 1 Version inputfile | sed 's/[:_#a-zA-Z\s"]*//g'获取当前版本 grep -m 1 Version inputfile | sed 's/[:_#a-zA-Z\s"]*//g'我试图用sed 's/3.1.0.2-1/3.1.0.2/' inputfilereplace当前的版本 但是,这似乎并没有工作,但是当我尝试在命令行使用回声工作。 echo 'Version: 3.0.9.1' | sed 's/3.0.9.1/3.2.9.2/' Output: Version: 3.2.9.2 任何帮助我如何能做到这一点,将不胜感激。 最好我想改变版本,而不是在文件中获取当前版本。 提前致谢

将文本文件转换为列

我对awk相当陌生,这是我要问的第一个问题。 如果我的问题已经得到解答,请直接给我正确的一个。 谢谢。 到目前为止,我没有find解决办法,也没有设法达到我想要的输出。 假设我有科学数据,所有数字排列在一个列中,但是用m(高度)表示n(宽度)的强度matrix。 input文件的列总共有n * m行。 input示例可能如下所示: 1 2 3 …… 三十 新的输出应该是这样的,我有n行新的m行。 坚持我的例子,有30个字段的input和n = 3,m = 10我需要这样的输出文件(分隔符不重要,可以是空白,标签等): 1 11 21 2 12 22 …… … 10 20 30 我在Windows下使用gawk。 请注意,没有特殊的FS,更现实的例子是60 * 60或更大。 感谢所有的答案或build议。

将字段“N”打印到行尾

我想对awk中的问题有所帮助或指导。 我有超过5个字段的制表符分隔的文件。 我想输出除前5个字段之外的字段。 你能告诉一下如何编写一个awk脚本来完成这个任务吗? 最好的,jianfeng.mao 请注意以下种类的评论: 我的文件中有很多字段。 不同的行具有不同数量的字段。 每行的字段数不是标准的。

在batch file中使用gawk我无法将格式从格式A重新格式化为格式B.

我有一个编译器,产生如下输出: >>> Warning <code> "c:\some\file\path\somefile.h" Line <num>(x,y): warning comment 例如: >>> Warning 100 "c:\some\file\path\somefile.h" Line 10(5,7): you are missing a ( >>> Warning 101 "c:\some\file\path\file with space.h" Line 20(8,12): unexpected char a 我需要进入格式(对于MSVS2013): <filename-without-quotes>(<line>,<column>) : <error|warning> <code>: <comment> 例如使用上面的第一个例子: c:\some\file\path\somefile.h(10,5): warning 100: you are missing a ( 我有一个很好的去做,我可以得到第一个例子工作,但第二个例子搞砸了我,因为我没有弄明白与空格的文件名(谁这样做??>。<)。 这是我的awk(gawk)代码: gawk -F"[(^), ]" '$2 == "Warning" […]

awk保存修改到位

我正在学习awk ,我想知道是否有一个选项来修改文件,类似于sed我将使用-i选项来保存对文件的修改。 我明白我可以使用redirect来写入更改。 但是有没有在awk的选项做到这一点?