Tag: awk

如何从Unix文件中删除空白行

我需要从input文件中删除所有的空行,并写入输出文件。 这是我的数据如下。 11216,33,1032747,64310,1,0,0,1.878,0,0,0,1,1,1.087,5,1,1,18-JAN-13,000603221321 11216,33,1033196,31300,1,0,0,1.5391,0,0,0,1,1,1.054,5,1,1,18-JAN-13,059762153003 11216,33,1033246,31300,1,0,0,1.5391,0,0,0,1,1,1.054,5,1,1,18-JAN-13,000603211032 11216,33,1033280,31118,1,0,0,1.5513,0,0,0,1,1,1.115,5,1,1,18-JAN-13,055111034001 11216,33,1033287,31118,1,0,0,1.5513,0,0,0,1,1,1.115,5,1,1,18-JAN-13,000378689701 11216,33,1033358,31118,1,0,0,1.5513,0,0,0,1,1,1.115,5,1,1,18-JAN-13,000093737301 11216,33,1035476,37340,1,0,0,1.7046,0,0,0,1,1,1.123,5,1,1,18-JAN-13,045802041926 11216,33,1035476,37340,1,0,0,1.7046,0,0,0,1,1,1.123,5,1,1,18-JAN-13,045802041954 11216,33,1035476,37340,1,0,0,1.7046,0,0,0,1,1,1.123,5,1,1,18-JAN-13,045802049326 11216,33,1035476,37340,1,0,0,1.7046,0,0,0,1,1,1.123,5,1,1,18-JAN-13,045802049383 11216,33,1036985,15151,1,0,0,1.4436,0,0,0,1,1,1.065,5,1,1,18-JAN-13,000093415580 11216,33,1037003,15151,1,0,0,1.4436,0,0,0,1,1,1.065,5,1,1,18-JAN-13,000781202001 11216,33,1037003,15151,1,0,0,1.4436,0,0,0,1,1,1.065,5,1,1,18-JAN-13,000781261305 11216,33,1037003,15151,1,0,0,1.4436,0,0,0,1,1,1.065,5,1,1,18-JAN-13,000781603955 11216,33,1037003,15151,1,0,0,1.4436,0,0,0,1,1,1.065,5,1,1,18-JAN-13,000781615746

在awk中select行和元素

我了解到,在awk中,$ 2是第二列。 如何在第i行和第j列指定第i行和元素?

如何打印文本文件每行中的字符数

我想用unix命令打印文本文件每行的字符数。 我知道这是简单的PowerShell gc abc.txt | % {$_.length} 但我需要unix命令。

如何使用awk按列3sorting

我有一个像这样的文件(user.csv) ip,hostname,user,group,encryption,aduser,adattr 要按用户打印所有栏目sorting, 我尝试了awk -F ":" '{print|"$3 sort -n"}' user.csv ,它不起作用。

只能使用sed或awk从html页面中提取url的最简单的方法

我想从html文件的定位标记中提取URL。 这需要使用SED / AWK在BASH中完成。 没有perl请。 什么是最简单的方法来做到这一点?

根据分隔符将一个文件分成多个文件

我有一个文件-| 作为每个部分之后的分隔符…需要使用unix为每个部分创build单独的文件。 input文件的例子 wertretr ewretrtret 1212132323 000232 -| ereteertetet 232434234 erewesdfsfsfs 0234342343 -| jdhg3875jdfsgfd sjdhfdbfjds 347674657435 -| 文件1中的预期结果 wertretr ewretrtret 1212132323 000232 -| 文件2中的预期结果 ereteertetet 232434234 erewesdfsfsfs 0234342343 -| 文件3中的预期结果 jdhg3875jdfsgfd sjdhfdbfjds 347674657435 -|

我怎样才能格式输出一个bash命令整齐的列

我有一个函数,输出我想要在列中格式化的许多行信息。 问题是任何特定的“单元格”(如果我可能使用这个术语)数据的宽度是可变的,所以将它布置成像awk这样的东西不会给我我想要的。 该函数是“键”(不是那么重要),我想这样的事情: $ keys | awk '{ print $1"\t\t" $2 }' 但是输出(它的一个片段)看起来像这样: "option-y" yank-pop "option-z" execute-last-named-cmd "option-|" vi-goto-column "option-~" _bash_complete-word "option-control-?" backward-kill-word "control-_" undo "control-?" backward-delete-char 我怎么能强迫事物留在整齐的列? 这是可能的awk,还是我需要使用别的东西?

在Linux中用文本文件中的逗号replace空格

我需要编辑几个文本文件(从sar输出),并将其转换为CSV文件。 我需要使用sed或awk函数(在Linux中简单的shell脚本)来更改每个空白(也许它是输出中的数字之间的选项卡)。 谁能帮我? 我使用的每个命令根本没有改变文件; 我试过gsub 。

使用awk substr获取最后一个字段

我有一个简单的要求如下, 获取绝对目录的文件名。 例如/home/parent/child/filename 我的要求是从这个剪切文件名。 我所尝试的是: awk -F "/" '{print $5}' input 这完美的作品。 但是这里的硬编码是$5 ,如果我的input结构如下所示,这可能会有所不同: /home/parent/child1/child2/filename 所以它应该是dynamic的,没有硬编码。 这是逻辑: 总是把最后一个字段作为文件名(所以需要从后面检查)。 任何人都可以帮助我与awk substrfunction或任何其他function?

从文件中随机选取行而不用Unix啜食它

我有一个10 ^ 7行文件,我想从文件中随机select1/100行。 这是我所拥有的AWK代码,但是它可以在手边浏览所有的文件内容。 我的电脑内存不能处理这样的诽谤。 还有其他的方法吗? awk 'BEGIN{srand()} !/^$/{ a[c++]=$0} END { for ( i=1;i<=c ;i++ ) { num=int(rand() * c) if ( a[num] ) { print a[num] delete a[num] d++ } if ( d == c/100 ) break } }' file