嗨嗨 各位前辈
这是我之前的关于取代的 code
上面的语法也是 在网络上拼拼而成
我自己也不是很熟悉
唸书唸到一半
又碰到新的问题
这是我之前拿来做取代的程式码
他会读取
在某个资料夹底下
.asc副档名结尾的资料
并且 做取代的动作
然后再将档案写回去
https://gist.github.com/anonymous/40f78570806da2e8fd36d61090b4c1e7
想请问一下
如果我现在要做的事情有
跟上次很像
但不是只有单纯的取代
总共有四个步骤 我个人都觉得有点麻烦...
如果写的人在新竹 可以提供麦当劳 或是星巴克两杯 :)
(一行程式码 我觉得太难阅读惹XD
希望可以长一点
加个注解跟介绍 ^^)
1.
取代某行
$data =~ s/Have a wonderful day!/Good luck to you/gi;
(这个我还可以)
2.
删除某行 (这个我就不会了 希望是可以删除某行
Ex: aaa
bbb
ccc
希望删除bbb后变成 (希望那行完全删除 不要换行)
aaa
ccc
3.
删除某行 并且在后面新增两行
Ex:
aaa ccc
bbb ddd
想要删除 bbb ddd这行
并且新增 bbb xxx 以及 bbb eee (包含换行符号)
所以会变成
aaa ccc
bbb xxx
bbb yyy
4.
读取某行后面的数字
新增两行新的两行 取代这一行
但新的两行
但会用到这行原本的数字 第一行不变 第二行做运算
Ex:
aaa 101 12 34 -45 Left 1
bbb 102 56 76 -98 Left 1
想要读取在aaa 101 后面的那行数字
然后然后新增两行 并且在第二行做运算
会变成
ccc 105 12 35 -45 Left 1
ccc 106 12 35 -46 Left 1
bbb 102 56 76 -98 Left 1
这边是先把aaa 101 取代成为 ccc 105
其中的35= 原本aaa后面的 34+1 | -46= -45-1
感谢大神了
希望可以加个注解了
愿意以新竹的 星巴克/麦当劳/摩斯 答谢 :)