【Shell案例】【wc记录单词长度、for循环和if、awk文本分析工具】7、打印字母数小于8的单词
描述
写一个 bash脚本以统计一个文本文件 nowcoder.txt中字母数小于8的单词。
示例:
假设 nowcoder.txt 内容如下:
how they are implemented and applied in computer
你的脚本应当输出:
how
they
are
and
applied
in
说明:
不要担心你输出的空格以及换行的问题
方法1:for循环和if
$内执行语句&-lt表示小于&单括号if条件
#!/bin/bash
for i in `cat nowcoder.txt`
do
if [ $(echo $i | wc -m) -lt 9 ]; then
echo $i
fi
done
``同{}
#!/bin/bash
for i in $(cat nowcoder.txt)
do
if [[ ${#i} -lt 8 ]]; then
echo -e "$i"
fi
done
[[]]同()
#!/bin/bash
for i in $(cat nowcoder.txt)
do
if (($(echo $i | wc -L)<8)); then
echo -e "$i"
fi
done
方法2:awk -F "分隔符" ‘{}’ 文件名【文本分析工具】
使用awk文本分析工具-F分隔符
#!/bin/bash
awk -F " " '{for(i=1;i<=NF;i++){
if(length($i)<8) {
print $i
}
}}' nowcoder.txt
#-F表示-F fs or --field-separator fs
#指定输入文件分隔符,fs是一个字符串或者是一个正则表达式,如-F:。
本文来自博客园,作者:哥们要飞,转载请注明原文链接:https://www.cnblogs.com/liujinhui/p/16214590.html
分类:
环境
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix