sed awk

 

 

1 替换文件某一行

将文件./config/patchconfig/patch_config.json 的第二行替换为  "path": "../patchfiles", 

将文件aaa.txt中的第三行替换为888

content='"path": "../patchfiles", '
sed -i  "2c${content}" ./config/patchconfig/patch_config.json
sed -i '3c888' ./aaa.txt

 2 替换某个字符

sed -i "s/;/GO/g" xxx.sql

3 awk 获取可执行文件名

#$NF为最后一列
which
nginx | awk -F '/' '{print $NF}'

 4 awk 显示除最后一列的所有列

awk '{$NF="" ;print $0}'

5 变量路径拆分

a='which nginx'  #####  /usr/local/nginx/nginx
echo ${a%/*}  #### /usr/local/nginx/

5 获取文件所在目录

which nginx | xargs dirname

 6 查找包含关键字的文件并拷贝到指定文件夹


find
. -iname "*.json" |xargs grep redis |awk '{print $1}' |cut -d ":" -f 1 |xargs -i scp {} /newpath/ //(济南小老虎友情提供) https://www.cnblogs.com/jinanxiaolaohu/

 7 sed 替换某一行

sed -i '7c     \"build\": \"ng build -c=production &&  xcopy .\\\\dist-rollup\\\\* %EnvPath%\\\\web\\\\apps\\\\fi\\\\gl\\\\web\\\\ /Y /D /R /K /F /S \",' .\package.json

8 双引号处理

sed -ri "s#import \{ TreeTableModule \} from \x27@farris/ui-treetable\x27;##g"  .\projects\bo-accountbalancefront-balanceinit\src\app\balanceinit\balanceinit.module.ts

 9 awk 删除文本中的某些列

awk '{$3="";$4="";$5="";print $0}' a.txt > 2.txt

 10 sed 提取匹配的内容

#sed 正则 \d不标示数字 只能用[0-9]
sed -r -n 's/^.*路径偏差:\s?(-?[0-9]+).*$/\1/p' tt.log

 

 

 

 

 

 

 

参考:

https://blog.csdn.net/nanaranran/article/details/81203905

https://www.cnblogs.com/seasonzone/p/11274788.html

https://zhidao.baidu.com/question/878349927740895212.html

 

https://www.cnblogs.com/jinanxiaolaohu/

 

特殊符号对应16进制

 
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
:
;
<
=
>
?
{
|
}
~
[
\
]
^
_
@
`

\x20
\x21
\x22
\x23
\x24
\x25
\x26
\x27
\x28
\x29
\x2A
\x2B
\x2C
\x2D
\x2E
\x2F
\x3A
\x3B
\x3C
\x3D
\x3E
\x3F
\x7B
\x7C
\x7D
\x7E
\x5B
\x5C
\x5D
\x5E
\x5F
\x40
\x60

   
posted @ 2020-02-17 09:12  wolbo  阅读(158)  评论(0编辑  收藏  举报