Linux bash sed 常用方法

Linux bash sed 常用方法

#! /bin/bash
####################################################################################################
####################################################################################################
#找到指定行,并将指定行的下面20行注释 “//”, 指定行的下面20行,每行开头插入“//”
line_num=1
cat /home/cjl/test.c | while read line
do
# echo $line
line_num=$(($line_num+1))
if [[ $line == "//set task group" ]]; then sed -i "${line_num},+20 s/^/\/\//g" /home/cjl/test.c;fi
done
####################################################################################################
####################################################################################################
#编译驱动
cd /home/cjl/0608/sdk/drv/
make
sleep 1
echo "1111" | sudo -S commonds ## sudo 命令 免输入密码
echo "1111" | sudo -S commonds
result0=$(ps -aux|grep "key") ## 检查命令结果
if [ ! -n "$result0" ]; then
echo "insert modified driver fail!"
else
echo "insert modified driver successful!"
fi
echo "1111" | sudo -S mtool w.l 0xd8080000 0xffffffff
echo "1111" | sudo -S mtool w.l 0xd8080048 0x00000000
cd /home/cjl/0608/example/
make
sleep 1
./hello_world& ## 程序后台运行
sleep 2
ps -efww | grep -w 'hello_world' | grep -v grep | cut -c 10-14 | xargs kill -9 ## 按照程序名找到进程ID ,按照进程ID kill 进程
sleep 2
result1=$(dmesg |grep breakdown)
echo $result1
if [ ! -n "$result1" ]; then
echo " OK!"
else
echo "breakdown!"
fi
echo "prepare to reset breakdown"
reset command
sleep 2
result2=$("check reset command"|grep STOP)
if [ ! -n "$result2" ]; then
echo "reset sucessful!"
else
echo "reset fail!"
fi
####################################################################################################
####################################################################################################
#指定文件的指定行的下面20行,删掉下面行每行开头两个字符
line_num=1
cat /home/cjl/test.c | while read line
do
# echo $line
line_num=$(($line_num+1))
if [[ $line == "//set task group" ]]; then sed -i "${line_num},+20 s/..//" /home/cjl/test.c;fi
done

将当前目录的所有文件中的导入from utils import onnx_to_relay批量替换成from .utils import onnx_to_relay

sed -i "s/from utils import onnx_to_relay/from .utils import onnx_to_relay/g" `ls`

将 test_*.py 文件中的 "op_set": params["op_set"] 替换为"op_set": params.get("op_set", 19)

sed -i 's/\"op_set\"\: params\[\"op_set\"\]/\"op_set\"\: params.get\(\"op_set\", 19\)/g' test_*.py
posted @   michaelchengjl  阅读(140)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2020-06-10 【转】在Python的struct模块中进行数据格式转换的方法
点击右上角即可分享
微信分享提示