📅  最后修改于: 2023-12-03 15:37:56.180000             🧑  作者: Mango
在Shell/Bash编程中,我们经常需要从文件中提取某些信息。本文将介绍如何从文件中过滤出12个字符的单词。
要从文件中过滤出12个字符的单词,我们需要先将文件中的文本分割成单词,再按照单词长度进行过滤。
在Linux中,可以使用sed
和awk
命令来实现此功能。
sed
命令是Linux系统中常用的文本处理工具。下面是使用sed
命令从文件中过滤出12个字符的单词的示例:
sed 's/\b\w\{12\}\b/&\n/g' file | sed -n '/\n/p' | sed 's/\n//g'
其中,file
是文件名。该命令的具体步骤如下:
s
命令将12个字符的单词前后加上换行符;-n
参数和p
命令只显示匹配到的行;s
命令将换行符删除。awk
命令是一种强大的文本处理工具。下面是使用awk
命令从文件中过滤出12个字符的单词的示例:
awk '{for(i=1;i<=NF;i++)if(length($i)==12)print $i}' file
其中,NF
表示当前行的单词数量。该命令的具体步骤如下:
for
循环遍历每个单词;以上就是从文件 bash 中过滤 12 个字符的单词的两种方法。其中,sed
命令比较抽象,但是可以灵活地处理文本。awk
命令则比较简单易懂,适合处理部分文本需求。读者可以根据自己的需求选择适合的方法。