文件内容操作(cut/sort/awk/uniq/sed等)

awk:

echo "hello-kitty-red-for-you" |awk -F '-for' '{print $1}'  //此时-F指定的-for为纯粹的字符串
echo "hello-kitty-red-for-you" |awk -F '[-for]' '{print $1}'  //此时-F指定的[-for]就不仅仅是某个字符串了,此时会以-或f或o或r分割字符串,o首先出现在字符串中,那么就会以o为分割线对字符串进行分割
awk -F: '$1=="hello" {print $0}' test.txt  #以:为分隔符,找到第一段字符为hello字符的行 输出该行

注意:print $0表示输出整行,print $1表示输出第一列

cat list

输出

pic/kNWHXc_1570779181_15064.jpg
pic/kNWHXc_1570779184_17876.jpg```

awk -F / '{print $1,$2}' list

输出

pic kNWHXc_1570779196_34893.jpg
pic kNWHXc_1570779181_15064.jpg

cut:

-d 指定分割字符
-c和-b 提取字节,-b可以用来提取一个中文字符,-c不可以,优选用-b
-f 指定提取部分

cat log

输出
!

以“:”为分隔符,显示第一列和第二列

cut -d : -f 1-2 log

或者

cat log | cut -d: -f1,2

输出:
在这里插入图片描述

提取部分字符

cut -b 1-2,7,8-11 log

在这里插入图片描述

sort

sort 1vN_result.csv -t ',' -k 4 > newsort.list # 将1vN_result.csv中内容按照某一列进行升序排列;
 -t 表示按照某个字符分隔;-k 表示按照第几个字段排序

uniq

注意:调用uniq 之前,常常会先调用 sort ,因为 uniq 只对相邻的行去掉重复

cat log-1

输出
在这里插入图片描述

sort log-1 | uniq

输出
在这里插入图片描述

sort log-1 | uniq -c

输出
在这里插入图片描述

seed

cat log

输出

12/Jan/2019:09:10:12
10/Jan/2019:09:13:39
10/Jan/2019:09:15:41
10/Jan/2019:09:40:45
10/Jan/2019:10:22:32
10/Jan/2019:11:24:22
10/Jan/2019:11:24:49
10/Jan/2019:16:55:23
sed 's/:/-/g' log

输出

12/Jan/2019-09-10-12
10/Jan/2019-09-13-39
10/Jan/2019-09-15-41
10/Jan/2019-09-40-45
10/Jan/2019-10-22-32
10/Jan/2019-11-24-22
10/Jan/2019-11-24-49
10/Jan/2019-16-55-23
发布了37 篇原创文章 · 获赞 2 · 访问量 7606

猜你喜欢

转载自blog.csdn.net/bingozb/article/details/102604907
今日推荐