试题一
- 判断所给目录内哪些二级目录下有没有text.txt文件。
- 有text.txt文件的二级目录,计算出该test.txt文件里面所给出单词的次数。
- 假如脚本名字为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 '