Articles of awk

从标签分隔的文件中删除重复的单词/string

我想使用Linux命令从大的制表符分隔的文件中删除重复的单词/string。 names john, cnn, mac, tommy, mac, patrick, ngc, discovery, john, cnn, adam, patrick cities san jose, santa clara, san franscisco, new york, san jose, santa clara 以上是文件格式,我想删除重复的单词后保留制表符和逗号。 names john, cnn, mac, tommy, patrick, ngc, discovery, adam cities san jose, santa clara, san franscisco, new york 任何帮助,将不胜感激。

如何通过ssh命令行来远程命令的引号

我在远程服务器上发出以下命令时遇到问题。 | awk“{print $ 1}”似乎对输出没有任何影响。 我错误地转义引号字符? 更糟糕的是,这两个命令实际上是通过一个python脚本提交的…因此使得转义更容易混淆。 在本地服务器上: ssh remote.server.com "find /root/directory -type f -exec md5sum {} + | awk '{print $1}'" 在远程服务器上: find /root/directory -type f -exec md5sum {} + | awk '{print $1}'

如何在vi编辑器或linux中find并删除两个文件中的重复行

我有2个文件A和B都有超过100行。 我想删除这两个文件之间的通用行。 A: asdf123 fdsa123 rrrr456 yyyy555 B: fdsa123 hhhh888 yyyy555 所以现在的文件应该是 A1: asdf123 rrrr456 B1: hhhh888

使用awk或sed从ifconfigparsing数据?

我想parsing从sed的ifconfig输出的一些数据,但我不能够正确地做到这一点。 我想要命令提取我后面的数字。 例如,我有兴趣提取发送的字节: eth1 Link encap:Ethernet HWaddr 00:00:00:09:15:f7 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::92e2:baff:fe08:35c7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:75141 errors:0 dropped:0 overruns:0 frame:0 TX packets:78046 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:9040489 (9.0 MB) TX bytes:34806464 (34.8 MB) 如果我使用sed: ifconfig eth1 | sed 's|.*RX bytes:\([0-9]*\).*|\1|g' 我得到这个输出: eth1 Link encap:Ethernet […]

在bash中parsingCSV并分配variables

我有一个csv的格式(在Linux上工作Bash) DN , MAC , Partition , 123 , abc , xyz 321 , asd , asd 我可以使用awkparsing它 eval MAC=($(awk -F "," '{print $1}' random.csv)) 这是为CSV中的每一列完成的,因此我可以单独调用DN[2] , MAC[2]等,这些是手动的,并且可以单独parsing它们。 但是,我怎么可以逐行parsingCSV? 例如:如果我要求DN是123 ,则还应该返回相应的MAC和Partition 。

Java exec()不会返回pipe道连接命令的预期结果

我正在调用通过pipe道连接的命令行程序。 所有这些都可以在Linux上运行。 我的方法: protected String execCommand(String command) throws IOException { String line = null; if (command.length() > 0) { Process child = Runtime.getRuntime().exec(command); InputStream lsOut = child.getInputStream(); InputStreamReader r = new InputStreamReader(lsOut); BufferedReader in = new BufferedReader(r); String readline = null; while ((readline = in.readLine()) != null) { line = line + readline; } } […]

awk / sed:在特定块号的最后一行之前插入文件内容

给定是两个文件,第一个是Apacheconfiguration文件: $ cat vhosts-ssl.conf <VirtualHost *:443> vhost 1 foobar 1 foobar 2 barfoo 1 barfoo 2 </VirtualHost> <VirtualHost *:443> vhost 2 foobar 2 barfoo 1 foobar 1 barfoo 2 </VirtualHost> <VirtualHost *:443> vhost 3 foobar 1 barfoo 1 foobar 2 barfoo 2 </VirtualHost> <VirtualHost *:443> vhost 4 foobar 1 foobar 2 barfoo 1 barfoo 2 […]

如何基于两个文件之间的公共字段使用AWK删除一个文件中的重复行?

我有两个文件 文件1包含3个字段 文件2包含4个字段 文件1的行数比文件2的行数小得多 我想通过以下操作来比较基于第一个字段的两个文件 如果文件1的任何一行中的第一个字段出现在文件2的一行的第一个字段中,则不要打印该文件2的该行。 任何意见将不胜感激。 Input File 1 S13109 3739 31082 S45002 3800 31873 S43722 3313 26638 Input File 2 S13109 3738 31081 0 S13109 3737 31080 0 S00033 3008 29985 0 S00033 3007 29984 0 S00022 4130 31838 0 S00022 4129 31837 0 S00188 3317 27372 0 S45002 3759 31832 0 S45002 […]

从txt文件中删除重复的行

我正在处理包含按行分隔的数据的大型文本文件(〜20MB)。 大多数数据项是重复的,我想删除这些重复只保留一个副本。 此外,为了使问题稍微复杂一些,重复添加一些附加信息。 在这种情况下,我需要保持包含额外信息的条目并删除旧版本。 例如,我需要从这个: BOB 123 1DB JIM 456 3DB AX DAVE 789 1DB BOB 123 1DB JIM 456 3DB AX DAVE 789 1DB BOB 123 1DB EXTRA BITS 对此: JIM 456 3DB AX DAVE 789 1DB BOB 123 1DB EXTRA BITS NB。 最后的顺序并不重要。 什么是有效的方法来做到这一点? 我可以使用awk,python或任何标准的linux命令行工具。 谢谢。

使用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脚本?