.desktopファイルにNoDisplay = trueを追加したいがアイテムが存在しない場合にのみ可能です。私は次のようにこれを行います。
grep -q 'NoDisplay=true' '/usr/share/applications/yelp.desktop' || bash -c 'echo "NoDisplay=true" >> /usr/share/applications/yelp.desktop'
同じことをする短い1行があるかどうか疑問に思います。
私はbashスクリプトでこのコマンドを使用しており、 "bash -c"コマンドを使用する必要があります。
ベストアンサー1
GNUがあればsed
とても簡単です。
sed -zi '/NoDisplay=true/!s/$/\nNoDisplay=true/' file
-z
パターンスペースで行全体を一度に処理するオプション(大容量ファイルには推奨されません)()設定がない場合は、末尾に追加され、!
改行文字が挿入されます。注: 文字列で-i
,-z
と を置き換えるのは\n
標準ではないので移植性はありません。