通过bash中的行获取txt文件的第k个字段

伊佐共同

我的txt文件具有以下结构:

# packages in environment at /scratch/hello/anaconda3:
#
# Name                    Version                   Build  Channel
_ipyw_jlab_nb_ext_conf    0.1.0                    py37_0
absl-py                   0.7.1                    pypi_0    pypi
alabaster                 0.7.12                   py37_0
anaconda-client           1.7.2                    py37_0
anaconda-navigator        1.9.7                    py37_0
anaconda-project          0.8.2                    py37_0
annoy                     1.14.0                   pypi_0    pypi

我想要conda install此txt文件中列出的所有软件包,并指定了版本。

我的想法是for循环所有行(从第4行开始),从第一个字段和第二个字段中获取值,然后将它们保存到PACKAGE和中VERSION,然后通过调用安装软件包conda install $PACKAGE=$VERSION(例如,conda install pandas=0.20.3

我想写一个shell脚本来做到这一点。我写了一个演示文件只是为了阅读第i行,这是第二个字段:

#!/bin/bash
LINES=$(wc -l < conda_env.txt)
for i in {4...10}
do
awk -F '|' 'NR==${i}{print $2}' conda_env.txt
done

它给我的错误:awk: bailing out at source line 1

齐奥诺

您可以尝试以下方法:

#!/bin/bash

while read -r package version _; do
    [[ $package = "#"* ]] && continue           # skip the comment lines
    # remove "echo" if the output looks good
    echo conda install "$package=$version"
done < "conda_env.txt"

输出:

conda install _ipyw_jlab_nb_ext_conf=0.1.0
conda install absl-py=0.7.1
conda install alabaster=0.7.12
conda install anaconda-client=1.7.2
conda install anaconda-navigator=1.9.7
conda install anaconda-project=0.8.2
conda install annoy=1.14.0

如果输出行符合您的期望,则删除echo并执行脚本。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在bash中获取文件的第n行?

来自分类Dev

删除所有第k个字段为“ NA”的行

来自分类Dev

获取结构的第n个字段

来自分类Dev

文件中第14行的最后X个字符

来自分类Dev

如何在单个 SQL 查询中为每个字段选择第 k 条记录

来自分类Dev

从所有txt文件中制作第1行的数组

来自分类Dev

在第17行的txt文件中批量写入文本

来自分类Dev

从 .txt 文件中读取每第 N 行(Python)

来自分类Dev

分割文件第n行的第二个字段

来自分类Dev

通过bash读取文件夹中的任何.txt文件

来自分类Dev

如何在bash中从文件末尾打印第n行?

来自分类Dev

如何在bash中更改文本文件的第n个字节

来自分类Dev

如何用另一个文件中的映射值替换CSV文件中的第n个字段?

来自分类Dev

如何用另一个文件中的映射值替换csv文件中的第n个字段?

来自分类Dev

如何获取每个创建表的第n个字段引用Linux shell下的另一个文件?

来自分类Dev

如何获取每个创建表的第n个字段引用Linux shell下的另一个文件?

来自分类Dev

计算文本文件中第3列或第4列中的单词超过n个字符的行

来自分类Dev

在Android中从第0行-1的行获取字段位置失败

来自分类Dev

剪切文本文件并获取第一个字段bash

来自分类Dev

使用awk删除特定行的第n个字段

来自分类Dev

如何在PHP中获取txt文件中的特定行?

来自分类Dev

通过比较文件中的两个字段来拆分文件

来自分类Dev

在批处理脚本中获取txt文件的第n个项目

来自分类Dev

仅使用for循环从文件中检索每第5个字符,无读取行

来自分类Dev

将 .txt 文件中的第 5 至 10 行复制到另一个 .txt 文件

来自分类Dev

bash-修剪txt文件中的偶数行

来自分类Dev

如何通过一个字段从Map中获取价值?

来自分类Dev

如何在PHP的txt文件中获取特定行?

来自分类Dev

如何通过用户输入检查txt文件中是否存在多个字符串?

Related 相关文章

  1. 1

    如何在bash中获取文件的第n行?

  2. 2

    删除所有第k个字段为“ NA”的行

  3. 3

    获取结构的第n个字段

  4. 4

    文件中第14行的最后X个字符

  5. 5

    如何在单个 SQL 查询中为每个字段选择第 k 条记录

  6. 6

    从所有txt文件中制作第1行的数组

  7. 7

    在第17行的txt文件中批量写入文本

  8. 8

    从 .txt 文件中读取每第 N 行(Python)

  9. 9

    分割文件第n行的第二个字段

  10. 10

    通过bash读取文件夹中的任何.txt文件

  11. 11

    如何在bash中从文件末尾打印第n行?

  12. 12

    如何在bash中更改文本文件的第n个字节

  13. 13

    如何用另一个文件中的映射值替换CSV文件中的第n个字段?

  14. 14

    如何用另一个文件中的映射值替换csv文件中的第n个字段?

  15. 15

    如何获取每个创建表的第n个字段引用Linux shell下的另一个文件?

  16. 16

    如何获取每个创建表的第n个字段引用Linux shell下的另一个文件?

  17. 17

    计算文本文件中第3列或第4列中的单词超过n个字符的行

  18. 18

    在Android中从第0行-1的行获取字段位置失败

  19. 19

    剪切文本文件并获取第一个字段bash

  20. 20

    使用awk删除特定行的第n个字段

  21. 21

    如何在PHP中获取txt文件中的特定行?

  22. 22

    通过比较文件中的两个字段来拆分文件

  23. 23

    在批处理脚本中获取txt文件的第n个项目

  24. 24

    仅使用for循环从文件中检索每第5个字符,无读取行

  25. 25

    将 .txt 文件中的第 5 至 10 行复制到另一个 .txt 文件

  26. 26

    bash-修剪txt文件中的偶数行

  27. 27

    如何通过一个字段从Map中获取价值?

  28. 28

    如何在PHP的txt文件中获取特定行?

  29. 29

    如何通过用户输入检查txt文件中是否存在多个字符串?

热门标签

归档