Articles of awk

如何在Bash脚本中的AWK中传递string作为参数

我有一个文本文件,我想用awk过滤。 文本文件如下所示: foo 1 bar 2 bar 0.3 bar 100 qux 1033 我想用bash脚本中的awk过滤这些文件。 #!/bin/bash #input file input=myfile.txt # I need to pass this as parameter # cos later I want to make it more general like # coltype=$1 col1type="foo" #Filters awk '$2>0 && $1==$col1type' $input 但不知何故,它失败了。 什么是正确的方法来做到这一点?

bash:从频率表中获取百分比

我已经做了一个小的bash脚本,以获得在一个文件的某一列的项目的频率。 输出会是这样的 A 30 B 25 C 20 D 15 E 10 我在脚本中使用的命令是这样的 cut -f $1 $2| sort | uniq -c | sort -r -k1,1 -n | awk '{printf "%-20s %-15d\n", $2,$1}' 我怎样才能修改它以显示每种情况下的相对百分比。 所以它会是这样的 A 30 30% B 25 25% C 20 20% D 15 15% E 10 10%

awk:只能在某个字段中查找和replace

我有这样的文本文件: $ cat test 12 13 2100 s 12 13 3100 s 100 13 100 s 12 13 300 s 我想输出是这样的: $ cat test 12 13 22000 s 12 13 32000 s 100 13 2000 s 12 13 300 s 我只想把第三场(一次100包含在$3 )的100换成2000 。 我如何使用awk完成这项工作?

如何使用awk来提取引用的字段?

我在用 awk '{ printf "%s", $3 }' 从空格分隔的行中提取一些字段。 当领域里面有空格时,我会得到部分结果。 请任何机构提出解决scheme?

Google API来查找search次数

当我谷歌的东西,我得到了伯爵。 结果1 – 10约800 有什么API或类似的东西来捕获数字“800”? 我有一个几千字的数据库,我想谷歌计数反对它。

Shell脚本来获取Linux上定义的用户列表?

我把它放在一起,但它很糟糕(例如,在那里的魔法数字,文本parsing..嘘!) awk -F: '{if($3 >= 1000 && $3 < 2**16-2) print $1}' /etc/passwd 什么是正确的方法来做到这一点?

将CSV中的第三个字段与GNU Linux(AWK / SED / GREP)中的模式文件进行匹配

当第三个字段与模式文件中的模式匹配时,我需要在CSV文件中打印所有行。 我已经尝试grep没有运气,因为它与任何领域不仅匹配第三。 grep -f FILE2 FILE1 > OUTPUT FILE1 dasdas,0,00567,1,lkjiou,85249 sadsad,1,52874,0,lkjiou,00567 asdasd,0,85249,1,lkjiou,52874 dasdas,1,48555,0,gfdkjh,06793 sadsad,0,98745,1,gfdkjh,45346 asdasd,1,56321,0,gfdkjh,47832 FILE2 00567 98745 45486 54543 48349 96349 56485 19615 56496 39493 正确的输出 dasdas,0,00567,1,lkjiou,85249 sadsad,0,98745,1,gfdkjh,45346 错误的输出 dasdas,0,00567,1,lkjiou,85249 sadsad,1,52874,0,lkjiou,00567 <—- I don't want this to appear sadsad,0,98745,1,gfdkjh,45346 我已经到处search,尝试不同的公式。 编辑:感谢Wintermute,我设法写这样的事情: csvquote file1.csv > file1.csv awk -F '"' 'FNR == NR { patterns[$0] = […]

有条件的Awk hashmap匹配查找

我有2个表格文件。 一个文件包含一个名为lookup_file.txt的50个键值的映射。 另一个文件具有30列和数百万行的实际表格数据。 data.txt我想用lookup_file.txt中的值replace第二个文件的id列。 。 我怎样才能做到这一点? 我宁愿在bash脚本中使用awk。另外,有没有一个hashmap数据结构,我可以在bash中用来存储50个键/值而不是另一个文件?

在unix中查找和删除(更新)

以下是我的input文件: sample.txt : 3" 6-position 7' 4" to 10' 3-1/2" 4.8" Adjustable from 99" to 111" – max 148 而在输出中我只需要3个,即 output.txt : 3 4.8 所以基本上我需要打印"符号的数字值,其他非数字文本需要完全删除。 我试图用sed来实现这个,但是我无法得到想要的结果。 有没有办法在UNIX上实现这一点?

通过Bash ShellScripting从url列表中提取父域名

我有一个这样的url列表: http://noto.zrobimystrone.pl/pucenter/images/NGdocs/ http://visionwebmkt.com/unsubscribe.php?M=879552&C=b744d324e38f5f3b0bcf549f1d57a3ab&L=20&N=497 http://www.meguiatramandai.com.br/unsubscribe.php?M=722&C=8410431be55bf12faac13d18982d71cd&L=1&N=3 http://www.contatoruy.in/link.php?M=86457&N=4&L=1&F=H http://www.maxxivrimoveis.com.br/ http://www.meguiatramandai.com.br/unsubscribe.php?M=722&C=8410431be55bf12faac13d18982d71cd&L=1&N=2 http://arm.smilecire.com/ch+urch38146263923bpa.stor/imp-roved258021029his+health212149011 http://hurl.zonalrems.com/ge.tyo-ur584372780599hea+lth247408058un/der+control21211901 http://harp.doomyjupe.com/see.this-better/life+58291551346csexdrive663295668+better/how.981692016 http://beefy.toneyvaws.com/no+tice/how/35306640b+see/app=5429204last/attempt=457943182 http://kirk.yournjuju.com/shop/sam.sclub-win=ter/58387369768esame+673844946.bett.er-loo.k981686408 http://idly.theirpoem.com/veri-fy/notice-7853508818b2glob/al=who.43639603inc.lusion-610549278 http://wva188.suleacatan.com/credit-score/review/-551694841511001sfdghsfdgsdfg63887839 http://cop.forterins.com/app.lyto=face962540097dtolo+oko.ung268570307yo.un-ger8752507 http://vni116.gaelsyaray.com/qertqetert//-dghjghjghd5531864856415612229498430 http://ticket.prategama.com/shop/sam.sclub-win=ter/752490935same+226373195.bett.er-loo.k212801 http://cbu125.quetxviii.com/cvbnvbn7551116db537203–swrtytry664896546 http://c5a.dicadodia.com.br/pass4sp09/NetAffProTeste-1.html http://snub.woadsbevy.com/ama/zing-753773417oppe-tun/ity+217801.is-here/now=236922473 http://mkt.livrariacultura.com.br/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlYQGgzfB7tPi0PuyyJ71ES 我想只提取父母的域名,例如: http://noto.zrobimystrone.pl/pucenter/images/NGdocs/ http://visionwebmkt.com/unsubscribe.php?M=879552&C=b744d324e38f5f3b0bcf549f1d57a3ab&L=20&N=497 http://www.meguiatramandai.com.br/unsubscribe.php?M=722&C=8410431be55bf12faac13d18 成 zrobimystrone.pl visionwebmkt.com meguiatramandai.com.br 我努力了 awk '{gsub("http://|/.*","")}1' list.txt 并得到以下结果: noto.zrobimystrone.pl visionwebmkt.com www.meguiatramandai.com.br www.contatoruy.in www.maxxivrimoveis.com.br www.meguiatramandai.com.br arm.smilecire.com hurl.zonalrems.com harp.doomyjupe.com beefy.toneyvaws.com 但不知道如何从noto.zrobimystrone.pl只得到父母的名字。