Questions tagged «awk»

一种模式导向的扫描和处理语言。


3
取消所有与_PROXY匹配的ENV变量
我正在尝试取消匹配的所有环境变量_PROXY: env | grep -i _proxy | column -t -s '=' | awk '{ print $1 }' | grep -iv 'no_proxy' | xargs -0 -I variable unset variable 却失败了xargs: unset: No such file or directory。 但是,如果尝试更改unset为echo,那么一切似乎都可以按预期进行:我得到了一组已设置的变量。 env | grep -i _proxy | column -t -s '=' | awk '{ print …


1
如何在awk中使用^#$作为记录分隔符?
您如何告诉awk #在一行中单独使用一个字符作为记录分隔符?问题是您不能说RS="^#$"是因为^匹配文件的开头而不是行的开头,并且RS="#\n"也不能工作,因为它匹配#的不是行首的字符。 $ data='# first record, first field first record, second field # second record, first field# second record, second field ' 然后使用以下命令打印每个记录的第一个字段RS="#\n": $ printf "%s" "$data" | awk ' BEGIN { RS="#\n"; FS="\n" } /./ {print $1} ' first record, first field second record, first field second record, second …
8 awk 

3
awk +从第一行开始打印行,直到匹配单词
我想从文件中打印所有行,直到匹配单词,然后建议如何使用awk进行打印 例如 我想打印所有行直到PPP字 备注第一行应与AAA区分(任何字) cat file.txt AAA ( the first line/word chuld be any word !!!!! ) BBB JJJ OOO 345 211 BBB OOO OOO PPP MMM ((( &&& 所以我需要得到这个 AAA BBB JJJ OOO 345 211 BBB OOO OOO PPP 其他示例(要打印到KJGFGHJ) cat file.txt1 HG KJGFGHJ KKKK 所以我需要 HG KJGFGHJ
8 linux  bash  awk  ksh 

5
从包含时间戳的文件中删除重复的行
这个问题/答案为删除文件中的相同行提供了一些很好的解决方案,但是对我来说不起作用,因为否则重复的行都带有时间戳。 是否可以让awk在确定重复项时忽略一行的前26个字符? 例: [Fri Oct 31 20:27:05 2014] The Brown Cow Jumped Over The Moon [Fri Oct 31 20:27:10 2014] The Brown Cow Jumped Over The Moon [Fri Oct 31 20:27:13 2014] The Brown Cow Jumped Over The Moon [Fri Oct 31 20:27:16 2014] The Brown Cow Jumped Over The …

4
用if语句awk
我正在尝试使用awk从文件进行打印,但是我的输出为空。到目前为止,这是我的代码 accountNum=$1 while read -r LINE || [[ -n $LINE ]] ; do awk -F',' '{ if($1==accountNum) { print $3.$2 } }' Accounts done < Accounts 我也尝试过这个: accountNum=$1 while read -r LINE || [[ -n $LINE ]] ; do echo $LINE | awk -F',' '{ if($1==accountNum) { print $3.$2 } …
8 shell  scripting  awk 

2
用部分可选的内容来抓取一段文本
我在一个非常大的日志文件(例如A.log)中描述了一个事件的多个条目。我想对日志文件中的事件条目做两件事: 计算每个此类条目的出现次数(这不是强制性要求,但是很高兴拥有)。 将实际条目提取到一个单独的文件中,并在以后进行研究。 典型的事件条目如下所示,并且它们之间还会有其他文本。因此,在下面的示例中,有两个事件条目,第一个包含两个DataChangeEntry 有效负载,第二个包含一个DataChangeEntry 有效负载。 Data control raising event :DataControl@263c015d[[ #### DataChangeEvent #### on [DataControl name=PatternMatch_LegendTimeAxis, binding=.dynamicRegion1. beam_project_PatternMatch_dashboard_LegendTimeAxis_taskflow_LegendTimeAxis_beamDashboardLegendTimeAxisPageDef_beam_project_PatternMatch_dashboard_LegendTimeAxis_taskflow_LegendTimeAxis_beamDashboardLegendTimeAxis_xml_ps_taskflowid.dynamicRegion58. beam_project_PatternMatch_view_LegendTimeAxis_taskflow_LegendTimeAxis_beamVizLegendTimeAxisPageDef_beam_project_PatternMatch_view_LegendTimeAxis_taskflow_LegendTimeAxis_beamVizLegendTimeAxis_xml_ps_taskflowid.QueryIterator] Filter/Collection Id : 0 Collection Level : 0 Sequence Id : 616 ViewSetId : PatternMatch.LegendTimeAxis_V1_0_SN49 ==== DataChangeEntry (#1) ChangeType : UPDATE KeyPath : [2014-06-26 06:15:00.0, 0] AttributeNames : [DATAOBJECT_CREATED, COUNTX, …

8
Grep其余部分…比赛结束后
我有一个仅包含两行的文件,具有以下结构: $ cat /tmp/pwpower.log 000D6F0000D34227, -114.10 000D6F0001A405C4, -130.09 这些值是我的太阳能发电厂的功率值。负值表示生成。 我需要通过grep / sed / awk提取的值-哪种方法最聪明。我需要分别提取两个值并且没有减号。 我现在做的事有点愚蠢,但是可以用-我敢肯定你们中的许多人会为我提供更聪明的方法:-)在这里,我当然只看到值加上减号。 要获得第一个值: cat /tmp/pwpower.log |grep -o "\-.*" | head -n 1 要获取第二个值: cat /tmp/pwpower.log |grep -o "\-.*" | tail -n1 和相关的问题,是否有一种简单的方法来获取这些STRING并进行转换,以便我可以计算出SUM?

3
Linux中最快的`uniq`工具
我的文本文件很大(1.5 G), 我想知道Linux中最快,更可靠的工具是什么。 我通常使用: awk '!x[$0]++' file.txt 但是当我使用htop命令时,我看到我的内存使用量正在增加。 我想知道什么是处理大型文件最快,更可靠的方法。 uniq? sort? sed? awk? 为什么?
8 sed  awk  memory  sort  uniq 

2
如何在awk中将两列相乘?
我想将输入文件中的第1列与第2列(到文件末尾)相乘,并在单独的文件中输出1列并乘以3列。 input.txt: 1 677679866 2 121867616 3 49413198 4 40415982 output.txt: 1 677679866 2 243735232 3 148239594 4 161663928

2
根据column1连接多行
我有一个如下文件。 abc, 12345 def, text and nos ghi, something else jkl, words and numbers abc, 56345 def, text and nos ghi, something else jkl, words and numbers abc, 15475 def, text and nos ghi, something else jkl, words and numbers abc, 123345 def, text and nos ghi, something else jkl, …

5
第n次匹配后打印行
我希望在以下文件中显示第4598行。实际上,我想在第n次匹配后显示该行。在这种情况下,第三次出现的行<Car>。我该怎么办? <Car> 10456 </Car> <Car> 70192 </Car> <Car> 4598 </Car>

3
从一行中提取不带定界符的固定宽度记录
我需要从单个文件中提取文本字符串,该文件包含一行很长的文本,没有定界符。使用下面的示例行,这些是以下已知事实: ??????? A1XXXXXXXXXX ??????? B1XXXX ??????? A1XXXXXXXXXX ??????? C1XXXXXXX 1. It contains 38 fixed width record types 2. The record marker is a 7 alphanumeric character followed by, for example, ‘A1’. 3. Each record type has varying widths, for example, A1 record type will have 10 characters following it, if …

2
grep比赛前一行加上比赛
zzzzzzzzz aaaaaaaaa bbbbbbbbb & ccccccccc & ddddddddd hhhhhhhhh eeeeeeeee fffffffff & ggggggggg & 在上面的行中,我想要的是grep/ sed/ awk(任何方法都可以)行上有&符号加一行的符号。因此,例如,所需的输出将如下所示: aaaaaaaaa bbbbbbbbb & ccccccccc & eeeeeeeee fffffffff & ggggggggg & 以下是我没有运气尝试过的。 egrep "&" | -b 1 file.txt

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.