Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.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
Linux 用sed替换同一文件中的多少行?_Linux_Bash_File_Shell_Sed - Fatal编程技术网

Linux 用sed替换同一文件中的多少行?

Linux 用sed替换同一文件中的多少行?,linux,bash,file,shell,sed,Linux,Bash,File,Shell,Sed,我想用sed命令替换tomcatserver.xml文件中的一些行 <Server port="8005" shutdown="SHUTDOWN"> 为什么呢? 我该怎么做?sed无法理解您的第二个命令,因为您没有在此处跳过斜杠: sed -e "s/<Connector port=\"8080\" protocol=\"HTTP/1.1\"/<Connector port=\"$port\" protocol=\"HTTP/1.1\"/" ./tmp_server.x

我想用
sed
命令替换
tomcat
server.xml
文件中的一些行

<Server port="8005" shutdown="SHUTDOWN">
为什么呢?
我该怎么做?

sed
无法理解您的第二个命令,因为您没有在此处跳过斜杠:

sed -e "s/<Connector port=\"8080\" protocol=\"HTTP/1.1\"/<Connector port=\"$port\" protocol=\"HTTP/1.1\"/" ./tmp_server.xml > ./tmp_server_2.xml
                                                  ^                                               ^
由于斜杠用作分隔符,因此必须对其进行转义:

sed "s/<Connector port=\"8080\" protocol=\"HTTP\/1\.1/<Connector port=\"$port\" protocol=\"HTTP\/1.1\"/"

sed“s/
sed
无法理解您的第二个命令,因为您没有在此处跳过斜杠:

sed -e "s/<Connector port=\"8080\" protocol=\"HTTP/1.1\"/<Connector port=\"$port\" protocol=\"HTTP/1.1\"/" ./tmp_server.xml > ./tmp_server_2.xml
                                                  ^                                               ^
由于斜杠用作分隔符,因此必须对其进行转义:

sed "s/<Connector port=\"8080\" protocol=\"HTTP\/1\.1/<Connector port=\"$port\" protocol=\"HTTP\/1.1\"/"
sed“s/
sed -e "s/<Connector port=\"8080\" protocol=\"HTTP/1.1\"/<Connector port=\"$port\" protocol=\"HTTP/1.1\"/" ./tmp_server.xml > ./tmp_server_2.xml
                                                  ^                                               ^
sed "s/<Connector port=\"8080\" protocol=\"HTTP\/1\.1/<Connector port=\"$port\" protocol=\"HTTP\/1.1\"/"
sed 's:<Connector port="8080" protocol="HTTP/1\.1:<Connector port="'"$port"'" protocol="HTTP/1.1":'