小编tes*_*ter的帖子

在文件中的位置显示字符

我想仅使用命令行在给定位置打印字符。例如:

<command> 5
Run Code Online (Sandbox Code Playgroud)

将输出a,如果该文件的第5个字符是a

由于我正在处理大文件,因此理想情况下这将能够处理大文件。

command-line text-processing

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

适用于重叠模式的 Grep

我想计算一个非常大的文件中重复模式的数量aa。所以我使用以下命令:

grep -o "aa" ./bwt/dblp.txt | wc -l
Run Code Online (Sandbox Code Playgroud)

这是有效的,除非我有一个字符串,例如aaa,然后它仅将其匹配为 1 个模式。在我的用例中,我需要前 2 as 表示一个模式,但最后 2 as 是第二个模式(这意味着中间的afromaaa可以重复使用)。

我怎样才能实现这个目标?

请注意,该文件非常大,因此如果可能的话,“优化”方式会更好。无论如何,任何可行的解决方案显然都是受欢迎的。

grep awk text-processing regular-expression

5
推荐指数
1
解决办法
2297
查看次数

grep 所有以某个字符开头并以另一个字符结尾的字符串

我需要 grep 所有以“[”开头并以某个字符串结尾的字符串,例如“apal”。因此,这两个字符之间的所有字符也将显示出来。给定一个输入,例如:

[44060]apal223reaea[55000]opoer4nr4on[95749]assad fdfdf Bhassrj sdaapald33qdq3d3da3ded[66000]dsfsldfsfldkj[77000]porpo4o4o3j3mlkfxxxx[101335]KaMMMM MMM lapa[131322]sadasds ddd apaladsdas[138133]sadasdadasddsss KMMapaldsadsadwe[150000]idhoqijdoiwjodwiejdw
Run Code Online (Sandbox Code Playgroud)

输出将是谎言

[44060]apal
[95749]assad fdfdf Bhassrj sdaapal
[101335]KaMMMM MMM lapal
[131322]sadasds ddd apal
[138133]sadasdadasddsss KMMapal
Run Code Online (Sandbox Code Playgroud)

command-line grep bash sed awk

3
推荐指数
1
解决办法
6万
查看次数