我正在编写一个bash脚本来删除文件中具有模式的某些行。该文件包含许多类似的模式,并且只希望删除以'export ROS_'开头但不以'#'开头的行。
#export ROS_MASTER_URI=http://192.168.1.34:11311
#export ROS_HOSTNAME=192.168.1.34
export ROS_MASTER_URI=http://192.168.1.33:11311
export ROS_HOSTNAME=192.168.1.33
您可以使用sed
工具:
sed "/^export ROS_/d" file
或只使用bash的语法:
while read line; do
case "$line" in
"export ROS_"*) ;;
*) echo "$line" ;;
esac
done < file
更简单:
while read line; do
[[ "$line" =~ ^"export ROS_" ]] || echo "$line"
done < file