繁体   English   中英

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

[英]How to find the n-th word in a file (Linux Shell)

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

尝试:

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

然后运行:

./script.sh filename.txt 30

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

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

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

你可以试试这个

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

运行示例:

./script.sh filename.txt 30

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM