linux常用命令2

echo "hello" >> test.txt 向test.txt 中追加hello 一个>是覆盖 两个>>是追加
echo {0..10}
0 1 2 3 4 5 6 7 8 9 10
echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
echo stu{0..10}
stu0 stu1 stu2 stu3 stu4 stu5 stu6 stu7 stu8 stu9 stu10
touch file{1..10} 创建1-10号文件
mkdir stu{0..10} 创建文件夹stu0-stu10
rmdir stu{0..10} 删除文件夹stu0-stu10

head -4 test.txt|tail -2 取test.txt中前4个然后再取后2个
grep -v 'OLDBOY' test.txt //打印剔除LODBOY后的数据
grep 'OLDBOY' test.txt //打印OLDBOY
sed -n '/OLDBOY/p' test.txt //打印OLDBOY
sed "3d" test.txt //打印剔除第3行后的数据,剔除多行只需输入行号用,间隔
sed "/OLDBOY/d" test.txt //打印剔除OLDBOY后的数据 /x/为正则表达式,剔除所有包含x的后在打印
sed '/^2/d' test.txt //打印剔除开头是2的数据后的数据 /^2/为正则表达式,剔除开头是2的
sed "/OLDBOY/p" test.txt //全部打印后,再打印OLDBOY /x/为正则表达式,打印出所有包含x的
sed '2p' test.txt //第二行再输出一遍 单引号
sed -n '2p' test.txt //输出第二行内容
sed "1a hello world" test.txt // a参数表示在指定行后插入,在a后输入要插入的内容,1a 表示在第1行下插入
sed "a hello world" test.txt //a前无行号,表示在最下面插入
sed "1i hello world" test.txt //i参数表示在指定行前插入,i后输入要插入的内容,1i表示在第一行前插入
sed "1c hello world" test.txt //c参数表示在替换指定行内容,i后输入要替换的内容,1c表示替换第一行内容
sed "/^T/c hello world" test.txt //替换以T开头的行
sed "/L/c hello world" test.txt //替换所有带L的行
sed "s/OLD/old/" test.txt //s替换部分字符,后接/原字符/替换后字符/ 仅替换每一行第一次遇到的字符
sed "s/OLD/old/g" test.txt //替换每一行所有遇到的字符
sed "1s/OLD/old/g" test.txt //s也支持指定行号,s前的为行号,仅替换第1行
sed "5,$s/OLD/old/g" test.txt //替换第5行至最后一行
sed '/^[0-9]/s/aa/AA/g' test.txt //正则表达式,对所有以数字开头的行进行替换
sed -n "2,8p" test1.txt //打印第2-8行数据
sed "2,8d" test1.txt //打印剔除2-8行后的数据

awk -F ":" '{print $1}' /etc/passwd //以:为分隔符输出passwd文件中的第一列 $后跟几就是输出第几列
awk -F ":" '{print $1“=”$2"="$3}' /etc/passwd //以:为分隔符将passwd文件中的第1、2、3列用=隔开并输出
awk -F ":" '{print $(NF)}' /etc/passwd //以:为分隔符输出passwd文件中的最后一列
awk '{if(NR>3 && NR<8) print $1}' test.txt 输出test.txt 第4-7行
awk -F ":" '{if(NR>2 && NR<5) print $1}' test.txt 以:为分隔符,输出第1列($后跟几就是第几列) 第3-4行数据

grep 5 -B 2 test.txt 输出test.txt中第5行和前面2行
grep 5 -A 2 test.txt 输出test.txt中第5行和后面2行
grep 5 -C 2 test.txt 输出test.txt中第5行和前后各2行
ls -l |grep ^d 输出所有目录文件
ls -l |grep ^[^d] 输出除目录外所有文件
ls -l |grep -i Mar 输出所有Mar月份的文件
grep "13[0-2]" address 提取address中,以13开头后接[0-2]的所有行[130,131,132]

我们之前做的所有实验,实际上都没有修改test.txt文件的内容,也就是说我们看到的修
改结果仅仅输出到控制台上,而文件test.txt的内容是没有修改的,我们可以使用 -i 选项告诉sed直接修改文件的内容,而不是将修改结果输出到终端上,例如:
sed -i '2d' test.txt

列出sed中常用的正则元字符:

$ 表示行尾
^ 表示行首
[a-z0-9]表示字符范围
[^]表示除了字符集中的字符以外的字符

sed的正则中 \(\) 和 \{m,n\} 需要转义

. 表示任意字符
* 表示零个或者多个
\+ 一次或多次  
\? 零次或一次
\| 表示或语法

yum install tree(包名) -y
rpm -qa tree
rpm -ivh 安装

猜你喜欢

转载自www.cnblogs.com/lnliyang/p/8926018.html
今日推荐