相关疑难解决方法(0)

grep,awk和sed有什么区别?

可能重复:
Perl,Python,AWK和sed有什么区别?
sed和awk有什么区别?

也许不是一个很具体的问题,但我感到困惑之间的差异grep,awksed在他们的Unix/Linux系统管理和文本处理的作用方面.

linux bash awk grep sed

121
推荐指数
3
解决办法
12万
查看次数

用空格替换所有逗号 - 使用Unix命令进行S/R?

我正在寻找一个允许我在文件中搜索/替换的Unix命令 - 我需要用空格替换某个文件中的所有逗号.我需要在脚本中执行此操作,并且我希望避免逐行解析/读取文件.是否有一个简单的unix命令可以让我这样做?

unix replace

14
推荐指数
2
解决办法
3万
查看次数

将线条与匹配的第一个字段组合

几年来,我经常需要将(已排序)文本的行与匹配的第一个字段组合在一起,而我从未找到过优雅(即单行unix命令行)的方法.我想要的是与unix join命令的相似之处,但是join需要2个文件,每个键最多出现一次.我想从一个文件开始,其中一个键可能出现多个tile.

我有一个执行此操作的ruby和perl脚本,但是没有办法将我的算法缩短为单行.经过多年的UNIX的使用,我还在学习新的技巧有comm,paste,uniq,等,我怀疑有一个聪明的办法来做到这一点.

有一些相关的问题,比如将所有具有相同第一列的行连接到同一行 ; 命令行匹配第一个字段匹配的行(sed,awk等) ; 并将线条与匹配的键组合在一起 - 但这些解决方案从未真正提供干净可靠的解决方案.

这是示例输入:

apple:A fruit
apple:Type of: pie
banana:tropical fruit
cherry:small burgundy fruit
cherry:1 for me to eat
cherry:bright red
Run Code Online (Sandbox Code Playgroud)

这是示例输出:

apple:A fruit;Type of: pie
banana:tropical fruit
cherry:small burgundy fruit;1 for me to eat;bright red
Run Code Online (Sandbox Code Playgroud)

这是我理想的语法:

merge --inputDelimiter=":" --outputDelimiter=";" --matchfield=1 infile.txt
Run Code Online (Sandbox Code Playgroud)

"matchfield"实际上是可选的.它可能永远是第一个领域.分隔符的后续出现应该被视为纯文本.

我不介意perl,ruby,awk单行,如果你能想到一个简短而优雅的算法.这应该能够处理数百万行输入.有任何想法吗?

unix awk command-line bsd join

5
推荐指数
2
解决办法
397
查看次数

标签 统计

awk ×2

unix ×2

bash ×1

bsd ×1

command-line ×1

grep ×1

join ×1

linux ×1

replace ×1

sed ×1