行命令:nl、sort、uniq、wc、tr、tail、col、expand、paste、join、xargs、-

本文介绍了一系列Linux命令行的使用技巧,包括行号命令nl、排序命令sort、去重命令uniq、统计命令wc、字符转换命令tr、尾行命令tail、tab键替换命令col和expand、行合并命令paste、智能拼接命令join以及文件列表命令xargs等。这些命令在日常的文件处理和系统管理中非常实用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# nl行号命令
nl tab.txt
 
# sort 行排序
sort 1.txt    「 字符排序 」 
sort -n 2.txt
-n 数值排序
-M     识别三字符的月份名
-t 分隔符
-k 排序的字段
-r 降序
-u 去重
 
 
du -k | sort -nr    「 按文件大小倒序 」 
sort -t ':' -k 3 -n /etc/passwd    「 用户ID排序 」 
cut -d: -f3 passwd | sort -n
sort -t: -k3  -nr passwd
last | cut -d' ' -f1 | sort -u
 
# uniq 去重
last | cut -d' ' -f1 | sort | uniq -c
-c 统计重复次数
 
# wc统计
wc passwd
格式:    [-l  行数]    [-w 单词数]    [-c 字符数]
ls -1 | wc -l
 
# tr字符转换   
简写:translate
tr 'a-z' 'A-Z' < passwd    「 小写转大写 」 
tr 'a-z' 'A-Z' < passwd > PASSWD    「 另存为 」 
cat PASSWD | tr 'A-Z' 'a-z'
cat passwd | tr 'a-z' 'A-Z’
tr -d ':' < PASSWD
  • -d 「 delete 」 
cat /etc/passwd | grep '^root' | tr -d ':'
 
# tail 尾行
tail -7 last.txt    
tail last.txt    「 默认尾10行 」 
 
cat -A tab.txt    「 --show-all  & 所有字符」 
11^I22^I33$    「 <Tab> 」 
aa^Ibb^Icc$
linux^I^Imysql^I^Iphp^I^Iapache^I^Inginx$
 
# col将 tab键替换成空格
cat tab.txt | col -x    「 tab替换成空格 」 
man col | col -b > test.txt
  • -b 仅保留反斜杠最后保留的字符,转存文本文件
  • -x 将tap替换成空格
 
expand将 tab键替换成空格
cat tab.txt | expand | cat -A    「 tab替换成空格 」
 
# paste 以 [Tap] 键合并行
paste 1.txt 2.txt | cat -A
date | paste 1.txt 2.txt -    「 减号 standard input 」 
paste 1.txt 2.txt
a    a    1    1
b    b    2    2
c    c    3    3
head /etc/passwd > passwd
head /etc/group > group
paste passwd group
root:x:0:0:root:yyyyyyyyyyyyyyy    root:x:0:
bin:x:1:1:bin:/byyyyyyyyyyyyyyy    bin:x:1:
daemon:x:2:2:daeyyyyyyyyyyyyyyy    daemon:x:2:
adm:x:3:4:adm:/var/adm:/yyyyyyy    sys:x:3:
lp:x:4:7:lp:/var/yyyyyyyyyyyyyy    adm:x:4:
sync:x:5:0:sync:/yyyyyyyyyyyyyy    tty:x:5:
shutdown:x:6:0:shutdoyyyyyyyyyy    disk:x:6:
halt:x:7:0:halt:/sbinyyyyyyyyyy    lp:x:7:
mail:x:8:12:mail:/varyyyyyyyyyy    mem:x:8:
operator:x:11:0:operayyyyyyyyyy    kmem:x:9:
 
# join智能拼接行
head /etc/group | sort > group
cat group
cat passwd
join -t: passwd group
-t 分隔符,默认第一列为关联字段
adm:x:3:4:adm:/var/adm:/yyyyyyy:x:4:
bin:x:1:1:bin:/byyyyyyyyyyyyyyy:x:1:
daemon:x:2:2:daeyyyyyyyyyyyyyyy:x:2:
lp:x:4:7:lp:/var/yyyyyyyyyyyyyy:x:7:
root:x:0:0:root:yyyyyyyyyyyyyyy:x:0:
cat 1.txt
1:2:3:4:5:6
cat 2.txt
5:6:7:8:9:0
join -t: -1 5 1.txt -2 1 2.txt    「 -1 5 第一个文件的第5列 -2 1 第二个文件的第1列 关联 」 
5:1:2:3:4:6:6:7:8:9:0
 
#xargs 文件列表
touch file{1,2,3}
ls file*
  • file1  file2  file3
find . -name 'file*' | ls -l    「 ls -l . 」 
find . -name 'file*' |xargs ls -l
find ~/Desktop/ -name '*.pdf' -print0 | xargs -0 du -h
  • -print0 输出文件名并以null结尾
  • -0 输入文件名以null结尾
 
# 减号
tar cf - /etc | tar xf -
-      代表包名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值