Linuxのファイルから単一の特殊文字を削除する方法は?

Linuxのファイルから単一の特殊文字を削除する方法は?

このJSONファイルがあり、そのファイル[からファイルを削除しようとしています。

現在:

[{"_id":"DATA"}

期待される:

{"_id":"DATA"}

非常に大きなファイルなので、手動で編集することはできませんが、[一度だけ表示されます。

答え1

使用sed:

sed -i '1s/^\[//' file

またはあなたのバージョンがsedそうでない場合-i

sed '1s/^\[//' file > file.tmp && mv file.tmp file

説明する:

  • -iファイルを所定の位置で編集します(代替:出力を.tmpファイルに書き込んで元の名前に戻します)。
  • 1最初の行で、次の操作を行います。
  • s/pattern/replacement/modifiersパターンを指定された修飾子に置き換えます。
    あなたの場合、パターンは^\[空の置換と修飾子のない行の最初の部分で一致するために使用されます。]^

答え2

Vimエディタでは、コマンドモードで次のコマンドを簡単に使用できます。

%s/\[//g

関連情報