特殊符号 cut sort wc uniq tee tr
管道符应用
cut
- 1、cut -d “:” -f 1,3([1-3]) #1,3表示用“:”分隔的第1和第3段字符串,[1-3],是1到3段字符串(1,2,3)
- 2、cut -c 3 #显示第三个字符也有 1,3和1-3的运用
sort
- 3、sort /etc/passwd #按照ASCII码顺序排序
- 4、sort -n /etc/passwd #按照以数字排序,字母都是相当于0排在其他数字的前面
- 5 、sort -r /etc/passwd #反向排序
-
6、 sort -k3 -t ":" /etc/passwd #以":"为分隔符 第三个字段排序
wc
- wc -l/-w/-m /etc/passwd #
-l
统计行数-w
统计单词数,以空格为分隔符,-m
/-c
统计字符数
uniq
- sort test.txt | uniq -c #去重 -c统计行数
tee
- cat test.txt | tee 1.txt #正确输出重定向 和
cat test.txt > 1.txt
类似不过会多了屏幕输出 - cat test.txt | tee -a 1.txt #追加
>>
tr
- echo “hello world” | tr “h” “H” #把
h
替换成H
,也可以替换成其他字符
split - split -b 100k test.txt # 切割文件100k1个文件 命名以
x
开头 - split -b 100k test.txt txt. #命名以txt.为前缀 不带单位
k
则默认是字节 - split -l 100 test.txt txt. #100行切割1个文件以txt为命名前缀
特殊符号
- $ #变量前缀
- !$ #代表上一个命令的最后一位字符串
;
#多条命令分隔符~
#用户家目录 cd ~- ./test.sh & #把执行test.sh脚本丢到后天执行
>
重定向>>
追加2>
错误重定向2>>
错误追加&>
错误正确都重定向到,相当于2>&1
,
cat test.txt &> 1 和 cat test.txt >1 2>&1 结果都是把标准错误输出和标准输出重定向到文件1
-
[]
#指定字符中的一个[1-9]1到9中的一个 [1,9]1和9其中一个echo “abc” | tr [a-c] “X” -> XXX
echo “abc”| tr [a,c] “X” -> XbX -
|| #SHELL命令行中为或运算符,遇到真的就不往后执行,结束
- && #SHELL命令行中为与运算符,遇到真的就往后执行,直到遇到假的结束