Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 需要在文件中的特定位置放置字符串_String_Replace_Sh_Word - Fatal编程技术网

String 需要在文件中的特定位置放置字符串

String 需要在文件中的特定位置放置字符串,string,replace,sh,word,String,Replace,Sh,Word,目标是从一个文件中获取字符串并替换另一个文件中的特定字符串 差不多完成了,但是需要知道标记的行,或者可能有更相关的解决方案。 谢谢 命令: sed s/edem_pl/edemtv/g 将充当一个过滤器,用包含edemtv的等效行替换(s替换)所有通过它的包含edem\u pl的行(globally)。您可以将其插入到命令中,如下所示: grep edem_pl /sdcard/DiseqTree.ini | sed s/edem_pl/edemtv/g > /sdcard/temp.t

目标是从一个文件中获取字符串并替换另一个文件中的特定字符串

差不多完成了,但是需要知道标记的行,或者可能有更相关的解决方案。 谢谢

命令:

sed s/edem_pl/edemtv/g
将充当一个过滤器,用包含
edemtv
的等效行替换(
s
替换)所有通过它的包含
edem\u pl
的行(
g
lobally)。您可以将其插入到命令中,如下所示:

grep edem_pl /sdcard/DiseqTree.ini | sed s/edem_pl/edemtv/g > /sdcard/temp.txt
/sdcard/temp.txt
将仅包含最初包含
edem_pl
的行,并用
edemtv
替换它们


请记住,
edem_pl
edemtv
在这里被视为正则表达式。在这种情况下,不需要进行特殊转义,但如果它们包含正则表达式特殊字符,如
[
^
,则需要使用
\
最佳解决方案对这些字符进行转义

sed -i "s!.*edemtv.*!$(cat /sdcard/temp.txt)!g" /sdcard/DiseqTree.ini

再来一次

busybox sed -i '/.*edemtv.*/{
    r /sdcard/temp.txt
    d
    }' /sdcard/DiseqTree.ini

多亏了4pda社区

你应该给它加上标签。还有…哪个字符串?你把它放在另一个文件的哪里?替换包含单词edemtvDo的字符串你的意思是替换另一个文件中同一行的字符串吗?困难在于它不在同一行。不要链接到外部来源,让你的问题自行包含你看。
replace=`grep edem_pl /sdcard/temp.txt`
sed -i "s/.*edemtv.*/$replace/g" /sdcard/DiseqTree.ini
busybox sed -i '/.*edemtv.*/{
    r /sdcard/temp.txt
    d
    }' /sdcard/DiseqTree.ini