2011-06-28 11 views
0

ドットで始まらないすべての行にドットを追加したいとします。シェルスクリプトでこれをどうすればできますか?私はsedを使うべきですか?シェルスクリプトのテキスト操作

 
example file: 
.a 
a 
b 
.c 

あなたはsedを使用することができます
 
.a 
.a 
.b 
.c 

答えて

7

になります:

sed -i '/^[^.]/s/^/./' text_file 
+0

あなたはパターンを少し説明することができますか? – user157195

+1

'/^[^.]/ 'は、ピリオドではない文字で始まるすべての行を意味します。 's /^/./'は "行の先頭をピリオドで置き換える"を意味します。混乱させることは、 '^'は2つのことを意味することができます:ここでは、検索パターンを行の先頭に固定するために使用され、文字クラスを否定するためにも使用されます。 '[abc]'は 'a'や' b'や 'c'にマッチし、' [abc] 'は' a'や 'b'や' c'でないものにマッチします。 – larsks

関連する問題