第一次摸底测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一次摸底测试相关的知识,希望对你有一定的参考价值。

title: 摸底考试
tags: linux,试题
grammar_cjkRuby: true

[TOC]

第一次摸底测试

1 已知text.txt,打印text.txt 中不包含oldboy的字符串

解答:先创造text.txt,假设text.txt里面包含girl.oldboy,boy

cat >>text.txt<<EOF
girl
oldboy
boy

解法一:采用最简单的head和tail命令

[[email protected] ~]# head -1 text.txt && tail -1 text.txt
girl
boy

解法二:采用grep -v排除模式

[[email protected] ~]# grep -v oldboy text.txt 
girl
boy

解法三:采用sed模式
sed 筛选字符串时的格式为 sed + option +‘/字符串/d‘
option有n 取消默认输出,i 把结果写入文件覆盖源文件,r 用扩展正则表达式。
d 为命令删除,p为打印,类似与复制一份

[[email protected] ~]# sed  ‘/oldboy/d‘ text.txt   
girl
boy

解法四:采用awk模式
awk 的标准模式是: awk -F ‘ ‘ ‘{print $1}‘
F后面是分隔符,NR行号,$1是指第一列,awk擅长取列,sed擅长取行。
$1 "="$2 其中=号为打印出来的分隔符
$(NF):最后一列,$(NF-1)倒数第二列
NR=行号

[[email protected] ~]# awk -F " " ‘NR==1 || NR==3  {print $1}‘ text.txt
girl
boy

解法五:采用sed 取行的方法

[[email protected] ~]# sed ‘2d‘ text.txt 
girl
boy
或者
[[email protected] ~]# sed -n ‘1p‘ text.txt && sed -n ‘3p‘ text.txt  
girl
boy

2 假设tmp上存在file文件,从/etc/上复制一个file文件到/tmp上,不提示用户是否覆盖,需要使用cp命令且不使用f参数

解答:因为默认cp命令是存在别名的,从alias中可以看到。

[[email protected] ~]# alias cp
alias cp=‘cp -i‘

解法一:使用命令的绝对路径
/bin/cp /etc/file1 /tmp
解法二 :使用\反斜线脱马甲
\cp /etc/file1 /tmp
解法三: unalias cp
cp /etc/file1 /tmp
查看命令绝对路径的方法:

[[email protected] ~]# find / -type f -name "cp"
/bin/cp
[[email protected] ~]# which cp
alias cp=‘cp -i‘
        /bin/cp
[[email protected] ~]# 
[[email protected] ~]# whereis cp
cp: /bin/cp /usr/share/man/man1/cp.1.gz

3 查看ett.txt文件第20-30行内容

解答:先生成文件
seq 100 &gt;ett.txt
解答一:[[email protected] ~]# head -30 ett.txt|tail -11
解答二:[[email protected] ~]# tail -81 ett.txt |head -11
解答三:[[email protected] ~]# grep 25 -C 5 ett.txt
解答四:[[email protected] ~]# sed -n ‘20,30p‘ ett.txt
解答五:<br/>[[email protected] ~]# awk -F ‘ ‘ ‘{if (NR&lt;31 && NR&gt;19) print $1}‘ ett.txt
注意 :如果NR前面有条件语句则if (NR<31 && NR>19)写在{}里面,否则NR写在{}外面,如‘NR==3 {print $4}‘

[[email protected] ~]# ifconfig eth0 | awk -F ‘[ :]+‘ ‘{if (NR>1 && NR<3) print $4}‘
192.168.50.1
[[email protected] ~]# ifconfig eth0 | awk -F ‘[ :]+‘ ‘NR==2 { print $4}‘                   
192.168.50.1

4 假如/tmp上有file1...file5,5个文件,文件上均含有oldboy,请问怎么将5个文件里的oldboy改为oldgirl?

解答,先创建文件file1和file5

cd /tmp &&touch file{1..5}
[[email protected] tmp]# find ./ -type f -name "file*" |xargs sed -i ‘s#.*#oldboy#g‘
[[email protected] tmp]# find ./ -type f -name "file*" |xargs sed  ‘s#oldboy#oldgirl#g‘ 
oldgirl
oldgirl
oldgirl
oldgirl
oldgirl
[[email protected] tmp]# 
[[email protected] tmp]# 
[[email protected] tmp]# 
[[email protected] tmp]# find ./ -type f -name "file*" |xargs sed -i ‘s#oldboy#oldgirl#g‘
[[email protected] tmp]# cat file1
oldgirl
[[email protected] tmp]# 

以上是关于第一次摸底测试的主要内容,如果未能解决你的问题,请参考以下文章

慈溪中学摸底测试

2020-2-4摸底测试B

心事: 未来的事谁说的好呢

性能测试分析过程

一个小公司的性能测试工程师应该如何开展工作

一次 Logback 发现的隐患