コマンドラインを使用してshell / config / rubyスクリプトをコメント化/コメント解除する方法はありますか?
例えば:
$ comment 14-18 bla.conf
$ uncomment 14-18 bla.conf
これは、追加または削除するだろう#
サインオンをbla.conf
行に14
します18
。通常はを使用しますがsed
、これらの行の内容を知ってから検索-置換操作を実行する必要があります。複数の針がある場合は間違った結果になります(N番目のみを置換する必要があります)。 1)。
bla.confの2行目から4行目にコメントするには:
sed -i '2,4 s/^/#/' bla.conf
必要なコマンドを作成するには、上記をcommentというシェルスクリプトに挿入します。
#!/bin/sh
sed -i "$1"' s/^/#/' "$2"
このスクリプトは、最初と最後の行をダッシュではなくコンマで区切ることを除いて、同じように使用されます。例えば:
comment 2,4 bla.conf
コメント解除コマンドも同様に作成できます。
sed
の行選択は非常に強力です。最初と最後の行を番号で指定するだけでなく、正規表現で指定することもできます。だから、あなたが含む1からすべての行コマンドをしたい場合はfoo
含むものにbar
、使用します:
comment '/foo/,/bar/' bla.conf
BSD sedでは、-i
オプションは空の文字列であっても引数が必要です。したがって、たとえば、上記のtopコマンドを次のように置き換えます。
sed -i '' '2,4 s/^/#/' bla.conf
そして、スクリプト内のコマンドを次のように置き換えます。
sed -i '' "$1"' s/^/#/' "$2"
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加