1

問題は、私のアプリがの既存のxmlファイルに行を追加しようとすることです/system/csc

ファイル内にX行があるかどうかをチェックする関数が必要です。そこにある場合は、行を追加しないでください。また、ファイル内に存在する別の行の前に行を配置する必要があります。

4

3 に答える 3

3

行がすでに存在するかどうかを確認し、存在しない場合はそれを挿入するためにgrep使用できます。sed

grep -Fxq "foobar line" file || sed -i '/^context line$/i foobar line' file

ファイルにまだ見つからない場合は、行のfoobar line前に行が挿入されます。context linefoobar line

または、次の方法ですべてを行うこともできますsed

sed -i '/^foobar line$/d;/^context line$/i foobar line' file
于 2013-02-26T14:41:47.533 に答える
0

試す

grep -F "$yourLine" file.xml
于 2013-02-26T14:39:50.580 に答える
0

awk複数のファイルを合計すると、両方のファイルセットに表示されない行が表示されます このページで私の回答を確認してください(私自身の質問に対する最後の回答)edを使用しており、エントリを追加する必要がある行を見つけた後、使用します行番号の後にエントリを追加する一般的なviコマンド。

そうでない場合は、ファイル内の文字列のgrepを実行した後、同じスクリプトを使用できます。

grep pattern $file > /dev/null
if  [ $? = 0 ]; then
 echo "found"
else
run_ed_function
fi
于 2013-02-26T15:01:13.277 に答える