Tob*_*oby 1 regex bash perl sed
我正在尝试填充一些XML字段,以便在我正在执行的大量手动数据输入上给自己一个开头.
我正在尝试使用正则表达式和2个平面文件来翻译这样的文字:
EA10A3
Run Code Online (Sandbox Code Playgroud)
进入:
<nodevice id="EA10A3" seq=" " />
Run Code Online (Sandbox Code Playgroud)
这是sed发生的事情:
~/Tickets/RWSP-11422 > cat locations.txt
EA10A1
EA10A2
EA10A3
~/Tickets/RWSP-11422 > cat platform
<nodevice id="PPPPPP" seq=" " />
~/Tickets/RWSP-11422 > while read i; do cat platform | sed "s/PPPPPP/$i/g"; done <locations.txt
" seq=" " />ice id="EA10A1
" seq=" " />ice id="EA10A2
" seq=" " />ice id="EA10A3
Run Code Online (Sandbox Code Playgroud)
和Perl一样:
~/Tickets/RWSP-11422 > while read i; do cat platform | perl -wpl -e "s/PPPPPP/$i/g"; done < locations.txt
" seq=" " />ice id="EA10A1
" seq=" " />ice id="EA10A2
" seq=" " />ice id="EA10A3
Run Code Online (Sandbox Code Playgroud)
我为什么要来
" seq=" " />ice id="EA10A1
Run Code Online (Sandbox Code Playgroud)
代替
<nodevice id="EA10A1" seq=" " />
Run Code Online (Sandbox Code Playgroud)
?
我怎样才能做到这一点?
你得到了
<nodevice id="EA10A1^M" seq=" " />
因为你的输入文件包含
EA10A1^M^J
使用(例如)修复输入文件dos2unix.
(^ M表示回车符,^ J表示换行符.)