批量将文件夹中 all_ 开头的文件重命名为 ddl_ 开头的文件
for var in all_*.sql.erb; do mv -f "$var" `echo "$var" |sed's/^.../ddl/'`; done
截取部分字符串
ls -al |awk '{ print $9 }' | awk -F '.' '{print $1}' | cut -b6-50 > sql_1.txt
截取两个字符之间的字符串 如 下面示例中截取 从 . 到 ( 之间 的字符 串
awk'{split($0,a,"[.(]");print a[2]}'
查找某个路径中包含指定字符串的文件
跳转到指定路径,然后执行: grep -rn “ 指定字符串 ” * grep -v 排除制定字符串
查找某个路径下所有文件中的字符串8005并替换成7777
sed -i "s/8005/7777/g" `grep 8005 -rl /usr/share/tomcat/conf` sed命令详细参见
额外附加sed命令的使用
sed -n '1,4p' test.txt 打印第一行到第四行的信息
sed -n '/los/p' test.txt模式匹配los,并打印出来
sed -n '2,/los/p' test.txt 从第二行开始。。知道匹配第一个los
sed -n '/^$/p' test.txt 匹配空行
sed -n -e '/^$/p' -e '/^$/=' test.txt 打印空行及行号
sed -n '/good/a\morning' test.txt 在匹配到的good后面附加morning
sed -n '/good/i\morning' test.txt 在匹配到的good前面插入morning
sed -n '/good/c\morning' test.txt 将匹配到的good替换成morning
sed '1,2d' test.txt 删除第1和2行
sed 's/good/good morning/g' test.txt 匹配good并替换成goodmorning
send 's/good/& hello /p' test.txt 匹配到good就在其后面加上hello
send 's/good/ hello &/p' test.txt 匹配到good就在其前面加上hello
grep命令相关
通过如下的选项进行命令的设置
-a :将 binary 档案以 text 档案的方式搜寻数据
-c :计算找到 '搜寻字符串'的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串'内容的那一行!
文件的行首添加字符串 pip3.5 install
sed's/^/pip3.5 install &/g'tmp_bak.txt