这个 shell 脚本正确吗?
Is this shell script correct?
我有一个这样的 shell script
:
sed -i '/^###########/,/^#End of Build.Prop/d' /system/build.prop;
#
sed -i '/^#Start Build.Prop Tweak/,/^#End of Build.Prop Tweak/d' /system/build.prop;
#
sed -i '/^#Start Build.Prop Tweak/,/^ro\.config\.hwfeature_wakeupkey=0/d' /system/build.prop;
上面提到的三个 Shell 命令中的 none 放在 sh 文件中时有效。但是,如果我使用 TerminalEmulator,则可以执行这三个脚本
我想在 Android 设备
中使用脚本
不行,太危险了
如果缺少结束搜索标记,您将删除文件的很大一部分。
当你想删除文件中的第一行和第二行时,它似乎工作正常:
$ cat test.txt
first line
second line
third line
$ cat test.txt | sed '/first/,/second/ d'
third line
编辑:sed '/first/,/second/ d' test.txt
少了一个命令
但是第二行找不到怎么办?
您的 sed 命令应该跳过删除行,但它会:
$ cat test.txt | sed '/first/,/mistake/ d'
$
编辑:sed '/first/,/mistake/ d' test.txt
少了一个命令
第一个匹配项的所有行都已删除!
我有一个这样的 shell script
:
sed -i '/^###########/,/^#End of Build.Prop/d' /system/build.prop;
#
sed -i '/^#Start Build.Prop Tweak/,/^#End of Build.Prop Tweak/d' /system/build.prop;
#
sed -i '/^#Start Build.Prop Tweak/,/^ro\.config\.hwfeature_wakeupkey=0/d' /system/build.prop;
上面提到的三个 Shell 命令中的 none 放在 sh 文件中时有效。但是,如果我使用 TerminalEmulator,则可以执行这三个脚本
我想在 Android 设备
中使用脚本不行,太危险了
如果缺少结束搜索标记,您将删除文件的很大一部分。
当你想删除文件中的第一行和第二行时,它似乎工作正常:
$ cat test.txt
first line
second line
third line
$ cat test.txt | sed '/first/,/second/ d'
third line
编辑:sed '/first/,/second/ d' test.txt
但是第二行找不到怎么办?
您的 sed 命令应该跳过删除行,但它会:
$ cat test.txt | sed '/first/,/mistake/ d'
$
编辑:sed '/first/,/mistake/ d' test.txt
第一个匹配项的所有行都已删除!