如何在文件中找到第n个单词(Linux Shell)

时间:2014-04-13 16:26:42

标签: linux bash file shell

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

3 个答案:

答案 0 :(得分:5)

尝试:

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

然后运行:

./script.sh filename.txt 30

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

你可以试试这个

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

运行示例:

./script.sh filename.txt 30