入力として使用されるデータファイルです。
1
2
2
979
data
raw
32j
23
32323
出力:
/* 1
/* 2
/* 2
/* 979
data
raw
/* 32j
/* 23
/* 32323
sedを使用して目的の出力をどのように取得できますか?パターンに一致する正規表現は次のとおりです。^[0-9]*。
ベストアンサー1
あなたが望むのは、数字で始まる行をコメントアウトすることです。これは^[0-9]*
、空白行や数字がまったくない行を含むすべての項目と一致するわけではありません*
。 「0以上」を意味するので、ファイル内のすべての行に一致します。
したがって、数字で始まる行をコメントアウトするには、次のようにします。
$ sed '/^[0-9]/ s|^|/* |' file
/* 1
/* 2
/* 2
/* 979
data
raw
/* 32j
/* 23
/* 32323
または:
$ sed -E 's|^([0-9])|/* \1|' file
/* 1
/* 2
/* 2
/* 979
data
raw
/* 32j
/* 23
/* 32323