1.查找文件 find
查询文件名为test.java的文件:
find / -name "test.java"
/ 表示从根目录开始递归找
-name 后面跟要查找的文件名
忽略大小写用 -iname
2.根据文件内容查找 grep
查找所有log中有“test”字符串的文件
grep "test" *.log
# 查找tomcat进程并过滤掉grep进程
ps -ef|grep tomcat | grep -v "grep"
3.统计(适合规范格式的数据)awk
默认按空格拆分
awk '{print $1,$2}' test.txt
awk '$1=="tcp" && $2==1 {print $0}' test.txt
awk '($1=="tcp" && $2==1) || NR == 1 {print $0}' test.txt
设置分割符可用 -F
awk -F "," '{print $2}' test.txt
4.替换文本内容
# 将以Str开头的字符串替换为String 不会替换原文件
sed 's/^Str/String/' test.java
# 将原文件内容替换
sed -i 's/^Str/String/' test.java
# 替换每行首次出现的jack为tom
sed -i 's/jack/tom/' test.java
# 将所有jack替换为tom
sed -i 's/jack/tom/g' test.java
# 删除空格行
sed -i '/^ *$/d' test.java
# 删除包含某个字符串的行
sed -i '/Integer/d' test.java