我找到了很多字符串操作教程,但无法弄清楚如何将它们应用于我的特定情况。我需要使用任一方法将字符串变量word插入(而不是替换)到文本变量text 中(不能依赖于行编号,变量操作优先于读/写文件):
在特定索引处(字节位置)
text="mytextMATCHmytext"
word="WORD"
match="MATCH"
# method1 - not working, because text is not a file
sed '/$word/ i $match' text
# method2
indx="${text%%$match*}"
indx=${indx%:*} # leave only the byte index where match starts
text="$text{0-$index-1}$word$text{$index-end}"
# expected value of text:
"mytextWORDMATCHmytext"
Run Code Online (Sandbox Code Playgroud)请帮助找出语法。修复这两种方法会很好。还有其他方法吗?的文本含有>文本的1MB,这样,有效的方法是优选的。
Jef*_*ler 15
要将文本j
插入变量text
的位置p
(从零开始计数):
p=5
text="$(seq 10)" ## arbitrary text
text="${text:0:p}j${text:p}"
Run Code Online (Sandbox Code Playgroud)
j
在 中的匹配部分之前插入文本$match
:
text="${text%%${match}*}j${match}${text##*${match}}"
Run Code Online (Sandbox Code Playgroud)
这将拉出 的前导部分,$text
直到找到$match
,然后添加j
,然后是$match
,然后是 的尾随部分,$text
直到找到$match
。希望只有一个比赛$match
中$text
!
归档时间: |
|
查看次数: |
40713 次 |
最近记录: |