現在、次の方法で特定のテキスト ファイルのリストに項目を追加する完全に機能する sed コマンドがあります...
ITEMS="$ITEM1 $ITEM2 $ITEM3"
挿入したい場合は次のようになり$ITEM4
ます...
ITEMS="$ITEM1 $ITEM2 $ITEM3 $ITEM4"
リスト内の項目数は不明です。それは動的です。そして、そのテキストのドル記号と引用符は文字通りに解釈されます。
次のコマンドを使用して、リストへの追加を完了します (変数$itemNum
は別の場所に割り当てられます) ...
sed "/^\s*ITEMS=/s/\"$/ \$ITEM$itemNum&/" file.txt
もちろん、これが行うことは、で始まる行ITEMS=
(および場合によっては先頭のスペース) を見つけ、その行の最後の二重引用符をスペースと目的の項目と二重引用符に置き換えることです (置き換えられた二重引用符を元の位置に戻すため)。 )。ただし、次のようにITEMS
リストが空になる可能性がある追加のケースがあります...
ITEMS=""
この場合、私のコマンドは次$ITEM4
のようにリストの最後に挿入されます...
ITEMS=" $ITEM4"
ただし、コマンドで空のリストを説明し、リストが実際に空の場合は先頭のスペースを入れないようにしたいので、次のようになります...
ITEMS="$ITEM4"
これを最もよく達成するために既存のコマンドをどのように変更できますか?