xargs,rename,awk,cut,seq,bc,cal

文章目录

xargs命令

[root@oldboyedu oldboy]# cat file
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
[root@oldboyedu oldboy]# cat file | xargs
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

  • xargs的默认命令是echo,空格是默认定界符。这意味着通过管道传递给xargs的输入会包含换行和空白。不过通过xargs的处理,换行和空白将被空格取代
  • -n

-n选项,指定 输出时每行输出的列数

  • -d选项,自定义列分割符

[root@oldboyedu oldboy]# echo “a/b/c#d/e/f” | xargs -d/
a b c#d e f

  • -o

-o选项相当于就是用来告诉xargs文件的结束标志已经改成NULL
[root@oldboyedu oldboy]# find . -name “hello*” -print0 | xargs -0 rm

rename 命令

[root@oldboyedu oldboy]# rename txt py 9.txt
#单个文件重命名
[root@oldboyedu oldboy]# rename txt py txt
#多个文件重命名
rename p1 p2 p3
p1: 可以理解为将被替换的串
p2: 可以理解为将替换成的串
p3: 用于选择哪些文件被替换

awk命令

#awk是一行一行执行的
awk中的$1表示第一个字段,$2表示第二个字段,以此类推,$0表示一整行

  • 内置变量

FS设置域分隔符 等于-F(在没输出屏幕之前字段之间的分隔符)
OFS 输出域分隔符 改变文件内容的分割符号,并且打印出来(显示到屏幕字段之间的分隔符)
NF 浏览记录的域的个数,打印出每行有几列(列数)
NR 已读的记录数(行数)
ORS 输出记录分隔符(行分隔符)
可以同时使用多个域分隔符,这时应该把分隔符写成放到方括号中,如$awk -F’[:/t]’ ‘{print $1,$3}’ test,表示以空格、冒号和tab作为分隔符。

substr(n,n)nsubstr(n,n) 打印指定的列,并且从指定的第n个字符开始打印 substr(n,n)打印指定的列,并且从指定的第n个字符开始打印substr(n,n,m) 打印指定的列,并且从指定的第n个字符开始打印,到m个字符停止
[root@centos7 ~]# ifconfig|awk '{if(NR2){print substr($2,1,10)}}’
10.0.0.131
#substr:从哪取几个字符
[root@centos7 ~]# awk '{sub(KaTeX parse error: Expected 'EOF', got '}' at position 24: …);print > "abc"}̲' abc [root@cen… awk ‘$1 ~/^root/’ test将显示test文件第一列中以root开头的行。
awk ‘{printf “%-8s %-10s\n”,$1,$4}’ log.txt
- 表示左对齐,没-表示右对齐
awk '{print $1}
’== log.txt
输出第一列,大括号外用单引号。
awk -F ‘[ ,]’ ‘{print $1,$2}’ log.txt
#要用多个分割符隔开,使用[ ] ,外面用单引号括起来
[root@oldboyedu tmp]# awk ‘$2 ~ /th/ {print $2,$4}’ log.txt
this, a,
#~ 匹配符 / / 要匹配的内容写在斜杆内
[root@oldboyedu tmp]# awk ‘$3 !~ /3/’ log.txt
a a a d e
A a C D E
#显示第三列不含有3 的行

cut 命令

  • -f cut -f 1 test.txt
    cut -f2,3 test.txt #选出指定字段(指定列)
  • -dcut -f2 -d";" test2.txt
    #使用 -d 选项指定字段分隔符:
    cut -f2 - - complement test.txt
    #–complement 选项提取指定字段之外的列(打印除了第二列之外的列)
    cut -c1-3 test.txt #打印第1个到第3个字符
    cut -c-2 test.txt # 打印前2个字符
    cut -c5- test.txt
    #打印从第5个字符开始到结尾

seq命令

seq 5
1
2
3
4
5
seq -2 2 10 #seq [选项] 首数 增量 尾数
seq -f “%03g” 98 101 #注意:通过%后添加0替代空格补足空位
seq -w 98 101 #输出98~100之间的整数,要求宽度一致,注意:-w选项不能和-f选项一起用,输出是同宽的
[root@oldboyedu tmp]# seq -s “#” 5
1#2#3#4#5(横着输出)

bc 命令

需安装 yum install bc
输入 :bc
进入计算机
输入 quit
退出计算机

cal命令

cal
cal 2016
cal -3

last,lastlog命令

  • last
    统计系统所有用户的登录时间和信息,包括系统曾经进行过重启操作的重启时间信息。这是一个重要的日志查询命令。通过查看系统重启信息可以方便用户了解系统是否非正常重启了,或者是被他人登录重启了。
  • lastlog
    检查最后一次登录本系统的用户登录的时间信息#lastlog -u 500 通过UID查看指定用户的登录信息
上一篇:【转帖】linux sort,uniq,cut,wc,tr,xargs命令详解


下一篇:文件查找