首页  

linux文本处理shell命令     所属分类 linux 浏览量 926
find grep xargs sort uniq tr cut paste wc sed awk


find .  -name "*.txt" -print
find . ! -name "*.txt" -print
find . -name "*.txt" -o -name "*.java" 

find . -maxdepth 1  -name "*.txt" -print

大于2k的文件
find . -type f -size +2k

大于20M的文件
find . -type f -size +20M

最近两天修改过的文件
find . -mtime 2  -name "*.txt"

-atime 访问时间 (单位天)
-mtime 修改时间 (内容被修改)
-ctime 变化时间 (元数据或权限变化)

find . -name ".DS_Store"  -delete

执行动作 exec

将找到的文件复制到指定目录
find . -mtime 2  -name "*.txt"  -exec cp {} ~/tmp \;
{} 替换成相应的文件名



xargs find . -name '.DS_Store'|xargs rm find . -name "*.txt" | xargs grep 'tiger'
sort 第一列作为数字降序排序 jstack 7363|grep java.lang.Thread.State: |sort|uniq -c|sort -rn -k 1 75 java.lang.Thread.State: WAITING (parking) 34 java.lang.Thread.State: RUNNABLE 9 java.lang.Thread.State: TIMED_WAITING (sleeping) 8 java.lang.Thread.State: TIMED_WAITING (parking) 3 java.lang.Thread.State: TIMED_WAITING (on object monitor) 2 java.lang.Thread.State: WAITING (on object monitor)
tr 转换 制表符转空格 cat text| tr '\t' ' ' 删除所有数字 cat file | tr -d '0-9' 压缩 echo "hell o 123" |tr -s ' ' df |tr -s " " |cut -d" " -f5
cut按列切分 获取第2列和第4列 cut -f2,4 filename cut -f2,4 -d"," pet.txt -d 指定分隔符 第一到5个字符 cut -c1-5 file 前2个字符 cut -c-2 file -b 以字节为单位 -c 以字符为单位 -f 以字段为单位
paste按列拼接文本 paste -d"," 01.txt 02.txt
wc统计行和字符 统计行数 wc -l file 统计单词数 wc -w file 统计字符数 wc -c file
sed文本替换 替换每一行的第一处匹配的text sed 's/text/replace_text/' file sed 's/abc/xyz/' data.txt 全部替换 sed 's/text/replace_text/g' file sed 's/abc/xyz/g' data.txt sed -i 's/text/repalce_text/g' file -i 原文件 移除空白行 sed '/^$/d' file
awk数据流处理 1.执行begin中语句块 2.从文件或stdin中读入一行,然后执行statements2,重复这个过程,直到文件全部被读取完毕; 3.执行end语句块; print 打印当前行 使用不带参数的print时,打印当前行; echo -e "line1\nline2" | awk 'BEGIN{print "start"} {print } END{ print "End" }' 最常用的 10 条 shell 命令 history | awk '{print $2}' | sort | uniq -c | sort -nr |head -n 10 $2 第二列 NR 记录数量 当前行号 NF 字段数量 当前行字段数 $0 当前行 $1 第一个字段内容 $2 第二个字段内容 echo -e "a b c\nx y z" | awk '{print NR":"$0"-"$1"-"$2}' 1:a b c-a-b 2:x y z-x-y 统计文件行数 awk ' END {print NR}' file awk实现head、tail命令 head awk 'NR< =10{print}' filename tail awk '{buffer[NR%10] = $0;} END{for(i=0;i<11;i++){ \ print buffer[i %10]} } ' filename
Linux查找命令使用及其区别 linux之grep命令 linux sort 命令

上一篇     下一篇
Java 正则表达式

Elasticsearch实用监控指标TOP10

三国演义里的职场道理

elasticsearch集群搭建

Elasticsearch analyzer 和 search_analyzer

Elasticsearch5快速入门