如何在文件的第n列和第一行中添加字符串?

布山达勒姆

我有一个制表符分隔的file样子:

$ cat file
GCF_000014165.1_ASM1416v1.dist_nbr_anntn        WP_011558474.1  1155234 1156286 polyketide      synthase [Mycobacterium]
GCF_000014165.1_ASM1416v1.dist_nbr_anntn        WP_011558475.1  1156298 1156807 12      carboxyl methyltransferase [Mycobacterium]
GCF_000014165.1_ASM1416v1.dist_nbr_anntn        WP_011558476.1  1156804 1157820 -3      oxidoreductase [Mycobacterium]

其中11552341156286115629811568071156804和 1157820后面是标签(即,有在文件中没有空格,除了在第6个(最后一个)列)。我想0在第五列添加一个选项卡,并将第一行第六列末尾的选项卡替换为一个空格。输出如下:

GCF_000014165.1_ASM1416v1.dist_nbr_anntn        WP_011558474.1  1155234 1156286 0       polyketide synthase [Mycobacterium]
GCF_000014165.1_ASM1416v1.dist_nbr_anntn        WP_011558475.1  1156298 1156807 12      carboxyl methyltransferase [Mycobacterium]
GCF_000014165.1_ASM1416v1.dist_nbr_anntn        WP_011558476.1  1156804 1157820 -3      oxidoreductase [Mycobacterium]

如何使用awk或sed进行操作?

G-Man说“恢复莫妮卡”

您的答案基本上可以满足您的要求,但可以改进。

  • 您要在合理范围内尽量减少(简单)命令的数量和管道的数量。如果拥有的数量过多,可能会导致效率低下。您不会在五行或十行的文件中注意到它,但是,当您处理一百万行的文件时,它会有所作为。

    您不需要运行两个sed命令(一个通过管道传递到另一个)。你可以做

    sed的-e ' (第一小号命令) ' -e ' (第二小号命令) '
    或者
    sed的' (第一小号命令);  (第二小号命令) '

  • 从示例输出中可以看出,您希望该选项卡仅在第一行变成空格,因此您的s/\t/ /命令也应加上前缀1
  • s/…/…/6g未定义行为由于您只希望s/\t/ /完成一次(在第6个标签上),因此您应该只说一次s/\t/ /6(不带g)。

所以你的命令可能是

sed'1s / \ t / \ t0 \ t / 4; 1s / \ t / / 6'文件

大括号可让您将要完成的命令组合在一起。所以你也可以说

sed'1 {s / \ t / \ t0 \ t / 4; s / \ t / / 6}”文件

awk

您可以在awk中执行以下操作:

awk -F'\ t'-v OFS ='\ t''NR == 1 {$ 6 = $ 5“” $ 6; $ 5 =“ 0”} 
                {打印} 
    '文件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何基于第3列中的uique标识符打印第1列的第一行和第2列的最后一行

来自分类Dev

替换UNIX文件第一行中存在的字符串

来自分类Dev

如何在文件中搜索字符串并将找到的行和下一行复制到另一个文件?

来自分类Dev

如何从字符串中为文件中的每一行选择第n个字符?

来自分类Dev

获取第一行中匹配字符串的列号。Excel VBA

来自分类Dev

如何在C中将文件的第一行(字符串)和第一列(字符串)作为2d数组的索引

来自分类Dev

获取UILabel中的第一行字符串

来自分类Dev

如何在每一行的末尾根据文件名在文件列表中添加一个字符串?

来自分类Dev

如何在PHP中跳过文件的第一行和最后一行

来自分类Dev

如何在一行中第一个字符后匹配字符串

来自分类Dev

如何在新列的数据帧的每一行中添加字符串和特殊字符?

来自分类Dev

匹配文件中的字符串并仅打印匹配的第一行

来自分类Dev

如何过滤第一行(不是标题)以字符串开头的列

来自分类Dev

如何在iOS中向UITableView的最后一行添加带字符串的一行?

来自分类Dev

用于将字符串追加到csv文件第6列中每一行的第一行的Shell脚本

来自分类Dev

如何在单个字符串变量的第一行和第二行之间添加空格/空行?

来自分类Dev

如何在文件中搜索字符串并将找到的行和下一行复制到另一个文件?

来自分类Dev

如何从字符串中为文件中的每一行选择第n个字符?

来自分类Dev

如何使用grep仅在文件的第一行中搜索特定字符串?

来自分类Dev

读取文件的第一行并将其与外壳文件中的字符串进行比较

来自分类Dev

从txt文件中读取字符串,然后在c ++中的第一行停止

来自分类Dev

如何使用sed替换文件中每一行的字符串前的第n个空格

来自分类Dev

如何检查文件的第一行是否包含特定字符串?

来自分类Dev

递归搜索第一行中包含特定字符串组合的文件

来自分类Dev

如何在PHP中跳过文件的第一行和最后一行

来自分类Dev

如何在前 2 列上添加字符串并在第 3 列上为 pyqt tablewidget 中的每一行字符串添加按钮?

来自分类Dev

如何使用 Bash 将字符串添加到文件中的每一行

来自分类Dev

如何在linux文件中的一行编辑字符串

来自分类Dev

如何使用带有变量、字符串和新行的 printf 在 bash 中的一行中写入文件

Related 相关文章

  1. 1

    如何基于第3列中的uique标识符打印第1列的第一行和第2列的最后一行

  2. 2

    替换UNIX文件第一行中存在的字符串

  3. 3

    如何在文件中搜索字符串并将找到的行和下一行复制到另一个文件?

  4. 4

    如何从字符串中为文件中的每一行选择第n个字符?

  5. 5

    获取第一行中匹配字符串的列号。Excel VBA

  6. 6

    如何在C中将文件的第一行(字符串)和第一列(字符串)作为2d数组的索引

  7. 7

    获取UILabel中的第一行字符串

  8. 8

    如何在每一行的末尾根据文件名在文件列表中添加一个字符串?

  9. 9

    如何在PHP中跳过文件的第一行和最后一行

  10. 10

    如何在一行中第一个字符后匹配字符串

  11. 11

    如何在新列的数据帧的每一行中添加字符串和特殊字符?

  12. 12

    匹配文件中的字符串并仅打印匹配的第一行

  13. 13

    如何过滤第一行(不是标题)以字符串开头的列

  14. 14

    如何在iOS中向UITableView的最后一行添加带字符串的一行?

  15. 15

    用于将字符串追加到csv文件第6列中每一行的第一行的Shell脚本

  16. 16

    如何在单个字符串变量的第一行和第二行之间添加空格/空行?

  17. 17

    如何在文件中搜索字符串并将找到的行和下一行复制到另一个文件?

  18. 18

    如何从字符串中为文件中的每一行选择第n个字符?

  19. 19

    如何使用grep仅在文件的第一行中搜索特定字符串?

  20. 20

    读取文件的第一行并将其与外壳文件中的字符串进行比较

  21. 21

    从txt文件中读取字符串,然后在c ++中的第一行停止

  22. 22

    如何使用sed替换文件中每一行的字符串前的第n个空格

  23. 23

    如何检查文件的第一行是否包含特定字符串?

  24. 24

    递归搜索第一行中包含特定字符串组合的文件

  25. 25

    如何在PHP中跳过文件的第一行和最后一行

  26. 26

    如何在前 2 列上添加字符串并在第 3 列上为 pyqt tablewidget 中的每一行字符串添加按钮?

  27. 27

    如何使用 Bash 将字符串添加到文件中的每一行

  28. 28

    如何在linux文件中的一行编辑字符串

  29. 29

    如何使用带有变量、字符串和新行的 printf 在 bash 中的一行中写入文件

热门标签

归档