【问题标题】:How to find the n-th word in a file (Linux Shell)如何在文件中查找第 n 个单词(Linux Shell)
【发布时间】:2014-04-13 16:26:41
【问题描述】:

我正在尝试编写一个带有文件名和数字的 Shell 脚本,并打印出文件中的第 n 个单词。有没有简单的命令可以做到这一点?

【问题讨论】:

    标签: linux bash file shell


    【解决方案1】:

    试试:

    #!/bin/bash
    tr '\n' ' ' < "$1" | cut -d' ' -f$2
    

    然后运行:

    ./script.sh filename.txt 30
    

    假设:单词由单个空格分隔,单词不包含空格。

    【讨论】:

      【解决方案2】:

      如果您想处理标点符号和多个空格,请尝试类似

      #!/bin/bash
      sed -e 's/[[:punct:]]*//g;s/[[:space:]]\+/\n/g' < $1 | sed $2q;d
      

      【讨论】:

        【解决方案3】:

        你可以试试这个

        #!/bin/bash
        awk -v var=$2 '{print $var}' < $1
        

        运行示例:

        ./script.sh filename.txt 30
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-12-30
          • 2014-08-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多