查找长度为 6 个字符的单词
Find words that are 6 characters in length
我有一个file.txt
fhadja
ksjfskdasd
adasda
sada
s
adasaaa
我只需要从那里提取 6 个字符长度的单词。
我需要获得的结果示例:
fhadja
adasda
谢谢。
用 GNU grep 试试:
grep -E '^.{6}$' file
输出:
fhadja
adasda
您可以使用:
grep -E '^.{6}$' file
fhadja
adasda
或使用 awk:
awk 'length([=11=])==6' file
fhadja
adasda
或使用sed
:
sed -rn '/^.{6}$/p' file
fhadja
adasda
或 perl:
perl -ne 'print if 6 == tr/\n//c' file
如果您的文件可以包含空格,请确保您匹配的是非空白字符:
grep -oE '\<[[:graph:]]{6}\>' << END
fhadja
ksjfskdasd
adasda
sada s 123456
s
2 4 6
END
fhadja
adasda
123456
纯属娱乐:bash
中的另一个解决方案
while read -r line
do
if [ ${#line} -eq 6 ]
then
echo $line
fi
done < file.txt
你明白了,
fhadja
adasda
我有一个file.txt
fhadja
ksjfskdasd
adasda
sada
s
adasaaa
我只需要从那里提取 6 个字符长度的单词。
我需要获得的结果示例:
fhadja
adasda
谢谢。
用 GNU grep 试试:
grep -E '^.{6}$' file
输出:
fhadja adasda
您可以使用:
grep -E '^.{6}$' file
fhadja
adasda
或使用 awk:
awk 'length([=11=])==6' file
fhadja
adasda
或使用sed
:
sed -rn '/^.{6}$/p' file
fhadja
adasda
或 perl:
perl -ne 'print if 6 == tr/\n//c' file
如果您的文件可以包含空格,请确保您匹配的是非空白字符:
grep -oE '\<[[:graph:]]{6}\>' << END
fhadja
ksjfskdasd
adasda
sada s 123456
s
2 4 6
END
fhadja
adasda
123456
纯属娱乐:bash
while read -r line
do
if [ ${#line} -eq 6 ]
then
echo $line
fi
done < file.txt
你明白了,
fhadja adasda