试题一

  1. 判断所给目录内哪些二级目录下有没有text.txt文件。
  2. 有text.txt文件的二级目录,计算出该test.txt文件里面所给出单词的次数。
  3. 假如脚本名字为1.sh, 运行脚本的格式为 ./1.sh 123 root,其中123为目录名字,而root为要计算数量的单词。
#!/bin/bash

if [ $# -ne 2 ]; then
    echo "请提供两个参数,第一个参数是目录名字,第二个参数是单词"
    exit 5
fi

base_cmd=`pwd`
base_dir=$1
word=root
sum_count=0

find  $base_dir -maxdepth 2 -mindepth 2 -name "text.txt" -type f|while read line
do
    word_wc=`grep -ow "$word" $line |wc -l`
    sum_count=$[$sum_count+$word_wc]
    echo $line $word_wc
done

试题二

交互式脚本,根据提示,需要用户输入一个数字作为参数,最终打印出一个正方形。在这里我提供一个linux下面的特殊字符■,可以直接打印出来。

示例: 如果用户输入数字为5,则最终显示的效果为

#!/bin/bash

if [ $# -ne 1 ]; then
    exit 4
fi

for x in `seq 1 $1`
do
    for((y=1;y<=$1;y++))
    #for y in `seq 1 $1`
    do
        echo -n "■ "
    done
    echo  
done

试题三

写一个脚本,依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么,如:

Hello, root,your UID is 0.

awk -F ':' '{print "Hello,"$1",your UID is "$3"."}' /etc/passwd

试题四

linux系统 /home目录下有一个文件test.xml,内容如下:


    
        
       zzz
       aaa
    
    
       xxx
       yyy
    
    
    

请写出shell脚本删除文件中的注释部分内容,获取文件中所有artifactItem的内容,并用如下格式逐行输出: artifactItem:groupId:artifactId:aaa

#!/bin/bash
#这个脚本用来格式化xml文件
#作者:猿课-阿铭 www.apelearn.com
#日期:2018-12-11

sed '//d' test.xml > test2.xml
egrep -n '