2
我有一個文件,其內容類似如下。sed命令/ shell腳本讀取特定行並在需要時進行更新
name: MyName
age: 25
subject: Math
這個文件需要被更新爲:
name: MyName
age: "25"
subject: Math
但條件是,sed命令/ shell腳本可以運行多次。但是,雙引號只能添加一次。
我爲它寫了一個腳本,它的工作原理。想找到一個更簡單的解決方案。
#!/bin/bash
FILE="myfile"
while IFS='' read -r line || [[ -n "$line" ]]; do
if [[ $line =~ 'age:' ]]
then
if ! [[ $line =~ 'age: "' ]]
then
sed 's/\(age:[[:blank:]]*\)\(.*\)/\1"\2"/' -i $FILE
fi
fi
done < $FILE
是的,工作就像一個魅力。謝謝 – Chetan