问题标签 [awk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 使用 awk 就地编辑
我想在文件顶部添加一行,比如f1
使用 awk。
有没有比以下更好的方法?
-i
awk在 sed 中有类似选项吗?
bash - 如何在 BASH 中执行从文件中获取随机文本的脚本?
我有这样的文件:
啊啊啊
bbb
ccc
ddd
eee
我想在 BASH 中做一个脚本,它可以随机取这个文本文件的行,并将它作为变量或其他东西返回给我。
我听说可以用一些 AWK 来完成。有任何想法吗?
更新:我现在使用这个:
shuf -n 1 文本.txt
谢谢大家的帮助!
python - 如何不区分大小写地计算纯文本文件中的唯一术语?
这可以是任何可能在典型的类 unix 系统上可用的高级语言(Python、Perl、awk、标准 unix utils {sort、uniq} 等)。希望它能够足够快地报告 2MB 文本文件的唯一术语总数。
我只需要它来进行快速的完整性检查,因此不需要精心设计。
请记住,不区分大小写。
非常感谢你们。
旁注:如果您使用 Python,请不要使用仅版本 3 的代码。我运行它的系统只有 2.4.4。
sed - 在 sed/awk 中对行范围执行操作
如何从 sed/awk 中特定范围的行中提取某些变量?
示例:我想从第 105 行开始的这一部分中提取 .tnsnames.ora 中的主机和端口。
regex - 如何在unix日志文件输出中拆分行
我希望能够从日志文件中解析日期和时间。目前它们采用以下格式:
“02/Jun/2009:14:38:50”但我想使用 linux 命令行中可用的东西将它们分隔在不同的列中,以便生成的输出如下所示:
“2009 年 6 月 2 日” “14:38:50”
有人可以说明如何做到这一点吗?
问候
sed - 拆分 sed/awk 中的剩余字段
我有这行:
并希望将其转换为(在字段 2->n 上添加引号):
svn - 是否需要解析 svn 日志以查找特定用户自某个日期以来提交的文件?
如果是这样,以下使用 awk 的单行代码可能会提供有用的模板
awk - 如何使用 awk 每 n 行插入一个空行?
我有一个这样的输入文件:
我想使用 awk 每隔几行插入一个空行;例如,每两个:
我怎样才能让 awk 每 n 行在我的文件中放入一个空行?
regex - awk/etc.:从文件中提取匹配项
我有一个 HTML 文件,想提取<li>
和</li>
标签之间的文本。当然有上百万种方法可以做到这一点,但我认为更多地养成在简单的 shell 命令中这样做的习惯会很有用:
问题是,这会打印所有内容,而我只想在括号中打印匹配项([^>]+)
——要么 awk 不支持,要么我无能。后者似乎更有可能。如果您想将提供的正则表达式应用于文件并仅提取指定的匹配项,您将如何做?我已经知道六种其他方式,但我不想让awk
这一轮获胜;)
编辑:数据结构不完善,因此使用位置匹配 ( $1, $2, etc.
) 是不行的。
bash - 我可以链接多个命令并让它们都从标准输入中获取相同的输入吗?
在 bash 中,有没有办法链接多个命令,所有命令都从标准输入获取相同的输入?也就是说,一个命令读取标准输入,进行一些处理,将输出写入文件。链中的下一个命令获得与第一个命令相同的输入。等等。
例如,考虑通过过滤内容将大文本文件拆分为多个文件。像这样的东西:
这显然不起作用,因为第二个 grep 获取第一个 grep 的输出,而不是原始文本文件。我尝试插入三通,但这没有帮助。是否有一些 bash 魔法可以导致第一个 grep 将其输入发送到管道,而不是输出?
顺便说一句,拆分文件是一个简单的例子。考虑拆分(通过模式搜索归档)来自网络的连续实时文本流并将输出写入不同的命名管道或套接字。我想知道是否有一种使用 shell 脚本的简单方法。
(这个问题是我之前的一个清理版本,基于指出不明确之处的回复)