Chinaunix

标题: 如何用sed或者awk处理 以下文本的 注释? [打印本页]

作者: clfsy    时间: 2023-02-20 10:46
标题: 如何用sed或者awk处理 以下文本的 注释?
cat test1:
aaa  1234bbb  4321
ccc  5432
ddd  1234

cat test2:
aaa  1234
bbb  4321
ccc  5432
ddd 6748
eee 898332

脚本处理后希望得到新的 文件是, 从关键字aaa 开始到ddd 这一行前面加上“// ”, 但是ddd关键字的这一行不加这个"//".


test1_new:
// aaa  1234
// bbb  4321
// ccc  5432
ddd  1234


test2_new:
// aaa  1234
// bbb  4321
// ccc  5432
ddd 6748
eee 898332

先谢谢大神了。

作者: shang2010    时间: 2023-02-20 21:18
本帖最后由 shang2010 于 2023-02-20 21:21 编辑

逻辑很简单啊,不会写shell脚本,不是第一程序语言


读取一行,判断前几个字符串 ,符合echo 双斜线 append 原来的行

文件结束,就结束
作者: shang2010    时间: 2023-02-20 21:23
如果是匹配关键字而不是行,得用字符一个一个的 判断了。  关键你的aabbcc关键字是不是常量呢,c语言比较时候干这个
作者: Super_Niu    时间: 2023-02-25 17:51
  1. sed '/^aaa/,/^ddd/{/ddd/!s#^#//#}' test1 > test1_new
复制代码

作者: wh7211    时间: 2023-03-01 16:44
回复 1# clfsy


  1. awk '/aaa/{a=1}/ddd/{a=0}{print a?"// "$0:$0>"newfile"}' file
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2