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