私はすべての新しい行でドット文字で始まる場合は、ドット文字を削除したいと思います。
example:
test.example.com
123.example.com
999.example.com
.asd.example.com
.1.1.example.com
would become:
test.example.com
123.example.com
999.example.com
asd.example.com
1.1.example.com
Bashでこれを行う簡単な方法はありますか?
答え1
「in bash」の意味によって異なります。sed
正規表現ベースのテキストエディタや同様の正規表現エディタで行うことは簡単です。
$ sed 's/^[.]//' example
test.example.com
123.example.com
999.example.com
asd.example.com
1.1.example.com
ピリオドの周りの括弧は正規表現の解釈を防ぎます(単一の先行文字の削除)。バックスラッシュエスケープを使用してs/^\.//
リテラルにすることもできます。.
答え2
データを含むファイル入力.txt
次のコマンドを使用すると、正規表現を使用してテキストを置き換えることができます。入場($名sed)より多くの情報を知りたい場合
$ sed 's/^\.//' input.txt
これにより、ターミナル出力に結果が印刷されます。
必要に応じて、以下を使用して出力をファイルにリダイレクトできます。
$ sed 's/^\.//' input.txt > output.txt