习题1:删除文本中的字母

要求:把一个文本文档的前5行中包含字母的行删除掉,同时把6到10行中的全部字母删除掉(文件1.txt,行数大于10行)

参考答案:

#!/bin/bash
#date:2018年2月9日
sfile="/root/2.txt"
N=`cat $sfile|wc -l`
for i in `seq 1 5`
do
   sed -n "$i"p $sfile|grep -v '[a-zA-Z]'
done
for i in `seq 6 10`
do
   sed -n "$i"p $sfile|sed 's/[a-zA-Z]//g'
done
for i in `seq 11 $N`
do
   sed -n "$i"p $sfile
done


习题2:查找字母数小于6的单词

要求:用shell打印下面这句话中字母数小于6的单词:Bash also interprets a number of multi-character options.

参考答案:

#!/bin/bash
# date: 2018年2月9日
str="Bash also interprets a number of multi-character options."
for work in $str
do
   len=`echo "$work"|wc -L`
   if [ $len -lt 6 ];then
        echo $work
   fi
done