awk命令及随机数的产生

3.sed 操作,将文件第9行至第15行的数据复制到第十六行

sed -i  '9,15H;16G' 文件

4.awk获取文件中的三行的倒数第二列字段

awk -F":" 'NR==3 {print$(NF-1)}' 文件 

5.针对test文件实现以下需求:

a)第一列为aaa行的其余所有列求和;

 awk '{sum+=($2+$3+$4+$5)} END {print sum}' 文件

b)求文件偶数行求和;

awk '(NR%2)==0 {sum+=($2+$3+$4+$5)}END{print sum}' 文件

awk 'NR%2==0{i=2;while(i<=NF) {sum+=$i;i++}} END {print sum}' 文件

c)求文件中的最大数值

cat 文件 | xargs -n1 | sort -nr | head -1

6.将文件test.txt的制表符,即tab,全部替换成!

sed -i 's/ /!/gp' 文件

7.case语句的语法?while语句的语法?continue命令的作用?

case:针对变量的不同取值,执行不同的命令序列

while:重复测试某个条件,只要条件成立则反复执行

continue:跳出当前循环

8.用命令查看ssh连接状态

[root@localhost ~]# netstat -anupt | grep :22 | awk '{print$6}' | sort | uniq -c

      4 ESTABLISHED

      2 LISTEN

9.ps aux中的vszRss代表什么含义

[root@localhost ~]# ps aux | head -1

USER   PID           %CPU    %MEM              VSZ       RSS            TTY       STAT                   START                   TIME                     COMMAND

用户  PID号  CPU占用率 内存占用率 虚拟内存 物理内存  终端   状态   进程的开始时间    进程CPu占用时间   进程的命令

10.请写出下列shell脚本:使用for循环在/opt通过随机小写10位长度字母加上(+)固定字符串test批量创建10HTML文件,并且HTML大写,创建完成后将test全部改为test_donefor循环实现)

#!/bin/bash

cd /opt

for ((i=1;i<=10;i++))

do

a=$(date +%N%N | cut -c 1-10 | tr [0-9] [a-z])

touch $a est.HTML

done

rename test.HTML test_done.HTML *

11.随机生成10位数+字,随机生成10位字母,随机生成10位字母+数字的混合,随机生成10位字母+数字的混合+特殊符号。

输出随机数字

[root@localhost ~]# date +%N%N | cut -c 1-10

echo $(date +%N%N | head -c 10)

echo $(echo $RANDOM$RANDOM$RANDOM | head -c 10)

输出随机小写字母

 </dev/urandom  tr -cd a-z  | head -c 10;echo

date +%N%N | cut -c 1-10 | tr [0-9] [a-z]

输出随机大写字母

</dev/urandom  tr -cd A-Z  | head -c 10;echo

date +%N%N | cut -c 1-10 | tr [0-9] [A-Z]

输出随机大小写字母

< /dev/urandom tr -dc a-zA-Z |head -c ${1:-10};echo

输出随机小写字母加随机数字:

< /dev/urandom tr -dc 0-9a-zA-Z |head -c ${1:-10};echo

</dev/urandom  tr -cd a-z0-9  | head -c 10;echo

echo $(($RANDOM)) | md5sum | sed -r 's/([a-zA-Z0-9]{10}).*/1/g'

date +%N%N | cut -c 1-10 | tr [0-5] [a-z]

输出随机大小写字母

date +%N%N | cut -c 1-10 | tr [0-5] [A-Z]

输出随机大小写字母加随机数字加特殊符号

head -1000 /dev/urandom| strings -n 10 |head -1

cat /dev/urandom|  strings -n 10 |head -1

运用脚本输出随机大小写字母加随机数字加特殊符号

#!/bin/bash

shuzi=(0 1 2 3 4 5 6 7 8 9 )

zimu=(a b c d e f g h i g k l m n o p q r s t o v w x y z)

fuhao=(! @ # $ \% ^ & *)

i=1

while [ $i -le 2 ]

do

           a=$[$RANDOM % 26 + 1 ]

           b=$[$RANDOM % 9 +1]

           c=$[$RANDOM % 8 +1]

           suiji=${zimu[$a]}${shuzi[$b]}${fuhao[$c]}${zimu[$a]}${shuzi[$b]}

           echo -n "$suiji"

           let i++

done

echo

 

原文地址:https://www.cnblogs.com/ZCQ123456/p/11477828.html