小编web*_*web的帖子

将两个不同模式之间的数字相乘并打印整个文件

我想用相乘的数字替换模式之间的数字并打印所有行。该文件是 newick 格式的树文件,仅包含一行。我的目标是之后)和之前的所有数字:。我想将两个符号之间的所有数字乘以 100。

文件:

((((A_8:0.000846,(A_5:0.002449,(A_1:1e-06,((A_4:1e-06,((A_7:1e-06,A_6:0.001061)0.714000:1e-06,A_3:1e-06)0.314500:1e-06)0.358667:1e-06,A_2:1e-06)0.361000:1e-06)0.434800:1e-06)0.683500:0.001619)0.888571:0.001931,A_9:0.00069)0.688471:0.000691,...
Run Code Online (Sandbox Code Playgroud)

对我来说,最简单的方法似乎是通过先用新行替换所有“:”符号来拆分文件。所以我所有的目标数字现在都在单独的行中并出现在). 然后,我使用下面的 awk 脚本将目标数字乘以 100,但没有设法保留没有目标数字的行。

脚本:

((((A_8:0.000846,(A_5:0.002449,(A_1:1e-06,((A_4:1e-06,((A_7:1e-06,A_6:0.001061)0.714000:1e-06,A_3:1e-06)0.314500:1e-06)0.358667:1e-06,A_2:1e-06)0.361000:1e-06)0.434800:1e-06)0.683500:0.001619)0.888571:0.001931,A_9:0.00069)0.688471:0.000691,...
Run Code Online (Sandbox Code Playgroud)

)在这种情况下,如何将数字相乘并打印整个文件?或者还有其他更简单的方法可以直接查找:和之间的数字),将它们乘以 100 并打印整个文件?

更新:预期输出

((((A_8:0.000846,(A_5:0.002449,(A_1:1e-06,((A_4:1e-06,((A_7:1e-06,A_6:0.001061)71.4000:1e-06,A_3:1e-06)31.4500:1e-06)35.8667:1e-06,A_2:1e-06)36.1000:1e-06)43.4800:1e-06)68.3500:0.001619)88.8571:0.001931,A_9:0.00069)68.8471:0.000691,...)
Run Code Online (Sandbox Code Playgroud)

sed awk arithmetic

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

检测大文本文件中的奇数字符

我需要检查我的整个文件是否只包含 4 个字符;“A”、“T”、“G”和“C”。我曾经使用 sed 拆分字符,然后使用 grep -o 和 -v 来排除要检查的目标字符。

在 linux 中是否有任何简单直接的方法可以做到这一点?使用 sed/awk/grep?

(似乎有关于这个相关问题的建议,但他们在命令中包含了整个文本。我的文件大小太大了。)

例如,输入文件中有四行,该行中可能存在其他字符(ATGC 除外)。如果可能,我想检测奇数字符并显示奇数字符以及它们所在的行数。

输入:

ATTGTAAGGTAAGTGGATTYTCCGGGRETC
TTVGGATCGTTGACCAGTK
GCCCGGGCCGGTCCTTTGGTGCGTGGGG
CTCTCCCAACCCCCCCACCCTCGACCTGAGCTCAGGCXC
Run Code Online (Sandbox Code Playgroud)

期望输出:

1:Y
1:R
1:E
2:V
2:K
4:X
Run Code Online (Sandbox Code Playgroud)

linux grep sed awk text-formatting

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

wc 命令读取文件中的行数时出错

我一直在wc -l用来检查我的文件中存在的行数。它总是运行良好,但这次不行。

我有 120 个大文件,每个文件应该至少有两行。我刚刚对这些文件进行了一些文本编辑工作,以删除和添加新行。我试图wc -l *像往常一样使用来检查最终的行数。输出显示大多数文件只有一行。

我打开了其中一个文件(从命令的结果中显示它只有一行),vim我可以看到它正好有 2 行。退出vim并使用 再次检查wc -l,该文件的行数然后显示为 2。

有人知道这里发生了什么吗?我该如何解决这个问题而不是打开所有 120 个文件vim

PS:我的文件的最后一行不是空的。

linux text-processing wc

0
推荐指数
1
解决办法
633
查看次数

标签 统计

awk ×2

linux ×2

sed ×2

arithmetic ×1

grep ×1

text-formatting ×1

text-processing ×1

wc ×1