2022-07-14

这里就稍微学习一下shell编程,了解一些基本命令。
请看第一题:

  1. 写一个base编程来输出一个文本文件a.txt的行数。
    是不是简单的一个wc -l就可以搞定了。实际上还不够
    wc -l 还会输出文件名,所以需要用通道只保留第一个数值
wc -l ./a.txt | awk '{print $1}'

记住空格不能省略

  1. 输出文件的后5行。
    这个更加简单,直接使用tail就可以了
tail -5 a.txt
  1. 输出0-500,是7的倍数的值。
    看到这里你挠了挠头,shell可以这么玩吗?
for num in {0..500..7};do
  echo"${num}"
done

不难看出,前面的for和其他语言类似,而这个do和done像是shell的特色,echo应该就是打印输出的意思。

  1. 输出第五行的内容
head -5 nowcoder.txt | tail -1
sed -n 5p

这里简单的使用head和tail拼接就可以实现。

  1. 打印空行的行号
    首先的明白空行用正则怎么表示,应该是
^\s*$

其中^表示起始,$表示结束,中间才是内容
既然如此,那接下来方法就多了。

grep -n '^\s*$' a.txt
awk '/^\s*$/{print NR}' a.txt
sed -n '/^\s*$/=' a.txt
  1. 去掉空行
cat ./a.txt | awk NF

你可能感兴趣的:(2022-07-14)