[英]Remove Words Shorter Than 4 Characters Using Linux
我已阅读以下内容并尝试根据我的需要重新设计命令逻辑。 但是,我只是没能把它做好。
试过: echo $example | sed -e 's/ [a-zA-Z0-9]\\{4\\} / /g'
echo $example | sed -e 's/ [a-zA-Z0-9]\\{4\\} / /g'
试过: sed -e s'/[A-Za-z]\\{,4\\}//g'
请使用简单的awk
或sed
命令帮助我执行以下操作:
Here is an example line of fantastic data
并得到:
Here example line fantastic data
$ echo Here is an example line of fantastic data | sed -E 's/\b\(\w\)\{,3\}\b\s*//g'
Here is an example line of fantastic data
如果将句子存储在变量中,则可以在 for 循环中遍历它。 然后您可以评估每个单词是否大于 2 个字符。
sentence="Here is an example line of fantastic data";
for word in $sentence; do
if [ ${#word} -gt 2]; then
echo -n $word;
echo -n " ";
fi
done
这是一个 BASH 示例,说明如果文件中有很多句子,这是最常见的情况,该怎么做?
#!/bin/bash
while read line
do
echo "$line" | sed -E 's/\b\w{1,2}\b//g'
done < <( cat sentences.txt )
$ cat sentences.txt
Edgar Allan Poe (January 19, 1809 to October 7, 1849) was an
American writer, poet, critic and editor best known for evocative
short stories and poems that captured the imagination and interest
of readers around the world. His imaginative storytelling and tales
of mystery and horror gave birth to the modern detective story.
Many of Poe’s works, including “The Tell-Tale Heart” and
“The Fall of the House of Usher,” became literary classics. Some
aspects of Poe’s life, like his literature, is shrouded in mystery,
and the lines between fact and fiction have been blurred substantially
since his death.
$ ./grep_tests.sh
Edgar Allan Poe (January , 1809 October , 1849) was
American writer, poet, critic and editor best known for evocative
short stories and poems that captured the imagination and interest
readers around the world. His imaginative storytelling and tales
mystery and horror gave birth the modern detective story.
Many Poe’ works, including “The Tell-Tale Heart” and
“The Fall the House Usher,” became literary classics. Some
aspects Poe’ life, like his literature, shrouded mystery,
and the lines between fact and fiction have been blurred substantially
since his death.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.