Questions tagged «awk»

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

3
awk和grep cut之间的确切区别是什么?[关闭]
我们知道,可以使用以下两种技术从文件中获得所需行的第二列: awk '/WORD/ { print $2 }' filename 要么 grep WORD filename| cut -f 2 -d ' ' 我的问题是: 上面的两个命令有什么区别? 哪一个表现最好? 使用而awk不是使用的优点是什么cut,反之亦然? 有什么选择可以awk给我们带来cut反过来呢?
30 awk  grep  performance  cut 


6
如何使用shell命令仅显示文本文件中的第一列和最后一列?
我需要一些帮助来弄清楚如何使用sed命令仅显示文本文件中的第一列和最后一列。到目前为止,这是我对第1列的了解: cat logfile | sed 's/\|/ /'|awk '{print $1}' 我也想使最后一栏也显示: cat logfile | sed 's/\|/ /'|awk '{print $1}{print $8}' 但是,这需要第一列和最后一列,并将它们合并到一个列表中。有没有办法用sed和awk命令清楚地打印第一列和最后一列? 输入样例: foo|dog|cat|mouse|lion|ox|tiger|bar
30 shell  sed  awk 


5
使用sed(或awk)删除图案上方的行范围
我有以下代码,该代码将删除带有模式的banana行及其后的两行: sed '/banana/I,+2 d' file 到目前为止,一切都很好!但我需要它来除去2行之前 banana,但我不能用“减号”或任何(类似于得到它grep -v -B2 banana file应该做的,但没有): teresaejunior@localhost ~ > LC_ALL=C sed '-2,/banana/I d' file sed: invalid option -- '2' teresaejunior@localhost ~ > LC_ALL=C sed '/banana/I,-2 d' file sed: -e expression #1, char 16: unexpected `,' teresaejunior@localhost ~ > LC_ALL=C sed '/banana/I,2- d' file sed: -e …

11
是否必须有更好的方法来仅替换单个换行符?
我习惯每句只写一行,因为我通常将内容编译为LaTex,或者以其他格式书写而忽略了换行符。我使用空白行指示新段落的开始。 现在,我有一个以这种风格编写的文件,我想将其作为纯文本发送。我想删除所有单个换行符,但完整保留两个换行符。这是我所做的: sed 's/$^/NEWLINE/' file.txt | awk '{printf "%s ",$0}' | sed 's/NEWLINE/\n\n/g' > linebreakfile.txt 这用一些我相信不会出现在文件中的文本替换空行:NEWLINE然后用awk消除了所有换行符(我在某些网站上发现了这个技巧),然后NEWLINE用必需的两个换行符替换了s 。 这似乎是完成一件非常简单的事情的漫长方法。有没有更简单的方法?另外,如果有一种方法可以用单个空格替换多个空格(有时由于某种原因有时会蔓延),那也很好。 我使用emacs,所以如果有一些emacs特定的技巧很好,但我宁愿看到一个纯sed或纯awk版本。

7
如何在包括它们的两个模式之间选择首次出现
如何在包括它们的两个模式之间选择首次出现。最好使用sed或awk。 我有: text something P1 something content1 content2 something P2 something text something P1 something content3 content4 something P2 something text 我想第一次出现P1和P2之间的线(包括P1线和P2线): something P1 something content1 content2 something P2 something

8
如何grep-inverse-match和排除“前”和“后”行
考虑一个包含以下条目的文本文件: aaa bbb ccc ddd eee fff ggg hhh iii 给定一个模式(例如fff),我想grep上面的文件以获取输出: all_lines except (pattern_matching_lines U (B lines_before) U (A lines_after)) 例如,如果B = 2和A = 1,则模式=的输出fff应为: aaa bbb ccc hhh iii 如何使用grep或其他命令行工具执行此操作? 请注意,当我尝试: grep -v 'fff' -A1 -B2 file.txt 我没有得到我想要的。我得到: aaa bbb ccc ddd eee fff -- -- fff ggg hhh …

5
如何在Bash中获得http链接的最后一部分?
我有一个http链接: http://www.test.com/abc/def/efg/file.jar 我想将最后一部分file.jar保存为变量,因此输出字符串为“ file.jar”。 条件:链接可以具有不同的长度,例如: http://www.test.com/abc/def/file.jar. 我尝试过这种方式: awk -F'/' '{print $7}' ,但问题是URL的长度,因此我需要一个可用于任何URL长度的命令。
25 bash  shell-script  awk  cut 

4
如何在两个时间戳之间提取日志
我想提取两个时间戳之间的所有日志。有些行可能没有时间戳,但我也想要这些行。简而言之,我希望每一行都落在两个时间戳下。我的日志结构如下: [2014-04-07 23:59:58] CheckForCallAction [ERROR] Exception caught in +CheckForCallAction :: null --Checking user-- Post [2014-04-08 00:00:03] MobileAppRequestFilter [DEBUG] Action requested checkforcall 假设我要提取2014-04-07 23:00和之间的所有内容2014-04-08 02:00。 请注意,日志中可能没有开始时间戳或结束时间戳,但是我希望这两个时间戳之间的每一行。

10
如何在EOF上删除多个换行符?
我的文件以一个或多个换行符结尾,并且应该仅以一个换行符结尾。如何使用Bash / Unix / GNU工具做到这一点? 错误文件示例: 1\n \n 2\n \n \n 3\n \n \n \n 示例更正的文件: 1\n \n 2\n \n \n 3\n 换句话说:EOF和文件的最后一个非换行符之间应该只有一个换行符。 参考实施 读取文件内容,切掉一个换行符,直到末尾再没有两个换行符,将其写回: #! /bin/python import sys with open(sys.argv[1]) as infile: lines = infile.read() while lines.endswith("\n\n"): lines = lines[:-1] with open(sys.argv[2], 'w') as outfile: for line in lines: …
25 bash  sed  awk  ed 

9
如何只打印最后一列?
echo -e 'one two three\nfour five six\nseven eight nine' one two three four five six seven eight nine 我该如何做一些“魔术”来获得此输出?: three six nine 更新:我不需要这种特定的方式,我需要一个通用的解决方案,以便无论一行中有多少列,例如:awk始终显示最后一列。


8
如何在Linux中删除文件的最后一列
我想删除txt文件的最后一列,但我不知道列号是什么。我该怎么办? 例: 输入: 1223 1234 1323 ... 2222 123 1233 1234 1233 ... 3444 125 0000 5553 3455 ... 2334 222 我希望我的输出是: 1223 1234 1323 ... 2222 1233 1234 1233 ... 3444 0000 5553 3455 ... 2334

9
如何从文件中删除每隔两行?
文件: Data inserted into table. Total count 13 No error occurred Data inserted into table. Total count 45 No error occurred Data inserted into table. Total count 14 No error occurred Data inserted into table. Total count 90 No error occurred 预期输出文件: Data inserted into table. Total count 13 Data …

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.