如果文件中存在文本行,如何删除?
到目前为止,我在猜测
#!/sbin/sh
mount -o remount,rw /system;
# Make a backup first
cp /system/build.prop /system/build.prop.bak;
# Append
if [ grep -o 'wifi.supplicant_scan_interval' <<</system.build.prop > 1 ]; then
echo "YO";
fi;
mount -o remount,ro /system;
然而,这显示了我YO
,无论它是&gt; 1或者&lt; 1(它确实存在于文件中),所以这部分看起来不对,我也不知道怎么能删除该行?
#!/sbin/sh
mount -o remount,rw /system;
function check_prop(){
busybox grep $1 /system/build.prop;
return $?;
}
# Make a backup first
cp /system/build.prop /system/build.prop.bak;
echo $(check_prop 'wifi.supplicant_scan_interval');
# Append
if [ $(check_prop 'wifi.supplicant_scan_interval') > 1 ]; then
# Do my stuff here?
echo 'YO';
fi;
mount -o remount,ro /system;
给我一个空白行,YO
。如果我将其更改为&lt; 1它做同样的事情
答案 0 :(得分:2)
sed '/wifi.supplicant_scan_interval/d' inputfile
会删除与wifi.supplicant_scan_interval
例如
$cat input
hello
world
hai
$sed '/world/d' input
hello
hai
如果你想从文件中删除行-i
选项,那就是行动inplace
sed -i '/wifi.supplicant_scan_interval/d' inputfile
修改
使用grep
打印除了与模式匹配的行以外的所有行。
grep -v 'wifi.supplicant_scan_interval' inputfile
例如
$ grep -v 'world' input
hello
hai
-v
选项执行否定。