sed结合awk使用,Excel对比两列内容
前言
在工作中常用到的一些基本shell命令,发现能够熟练使用awk和grep能够大大提高你的工作效率
正文内容
1、使用grep命令筛选出当前文件夹里面含特定字段的文件:
grep -ri "full outer join " `find . | grep .py`
2、使用sed命令批量修改文件,
(1)批量替换:
sed -i "" "s/dependencies/#dependencies/g" `find . | grep .job`
(2)批量删除:
sed -i "" "/dependencies/d" `find . | grep .job`
(3) 找出.sql文件中含有v_datadate的文件:
grep -ri "v_datadate" `find . | grep .sql`
(4)替换.sql文件中v_datadate为${v_datadate}:
sed -i "" "s/v_datadate/${v_datadate}/g `find . | grep .sql`
(5)找出job文件中含有dependencies关键字的文件内容:
1)grep -ir "dependencies" `find . | grep "job$" | grep "sda[0-9]"`
2)grep -ir "dependencies" `find . | grep "job$"`
(6)批量删除.job文件:
find /Users/apple/Desktop/azkban表sda迁移/ -name "*.job" -depth -exec rm {} \;
(7)批量删除.DS_store文件:
find /Users/apple/Desktop/azkban表sda迁移/ -name "*.DS_Store" -depth -exec rm {} \;
3、Excel里面使用VLOOKUP筛选出两列里面不同的数列:VLOOKUP(A3,C:C,1,FALSE())
4、Excel里面复制带/的内容,需要拆分分列粘贴到Excel里面,使用数据-分列;
5、INVALIDATE METADATA是用于刷新全库或者某个表的元数据;
6、EXCEL比较两列内容的差异,常用比较A列内容是否包含在B列内容:
=VLOOKUP(B2,W:W,1,FALSE())
7、提取sql的sed命令:
awk '/sql="""/{p=1;next}/"""/{p=0}p' test.py >test.sql
8、找到多个目录下文件的命令,并提取到同一个文件:
find . -name *_init.sql -exec cat {} > cd_sda01.sql \;
参考资料