2017-11-01 12 views
1

アルファベットで索引付けされたテキストファイルの各行にカウンターを追加します。これを行うための簡単な方法はありますか?例えば、私のテキストファイルは、このアルファベットカウンターを各行の先頭に追加します。

textAblabla 
textBblabla 
textCblabla 
... 
textABblabla 
textACblabla 

のように見えるかどうかは

A textAblabla 
B textBblabla 
C textCblabla 
... 
AB textABblabla 
AC textACblabla 

EDITに変換する必要があります。非常によく、各行が異なっている場合であってもよいことに留意する必要があります。私は今、私の元の質問が混乱を引き起こしているようだから、これを強調する。

EDIT 2:リストを印刷したくないので、元のファイルを列挙で修正(上書き)したいと思います。 Perlで

+4

目標は、自分で解決するための研究努力を少なくとも示すために自分のコードを追加することです。 – Cyrus

+0

これまでに何を試みましたか?上記の情報は役に立ちません。 'text'部分と' A'、 'AB'のカウンター部分を識別するためのサンプルをいくつか与える必要があります。 – Inian

+0

ポイントは、私のカウンターとしてアルファベットを使ってテキストファイルの各行を列挙したいということです。私はアラビア数字を使用してこれを行う方法の多くの例を見てきましたが、私の目的のために私は私のカウンターとしてアルファベットを使用する必要があります。 – Birdie

答えて

5

perl -e '$x=A; while (<>) {print $x++." $_";}' file 
+1

非常にいいですが、私はZを超えて文字を増やすとAAになることは分かりませんでした! – Nic3500

+0

はい、これは(ほぼ)望ましい機能を提供するようです。しかし、私はリストを印刷したくない、私は列挙で元のファイルを変更(上書き)したい。 – Birdie

+0

Cyrusのスクリプトから出力を取り出し、元のファイルにmvします。簡単。 PS:これは質問の質についての教訓にさせてください:-) – Nic3500

2

-pコマンドラインオプションを追加することサイラス答えを適応し、元のファイル上書きするコードを変更:

$ perl -pi -e 'BEGIN { $x="A" }; $_ = $x++ . " $_"' your_file_here 
0

でのsedの

sed -E 's/([^A-Z]+)([A-Z]+)(.*)/\2 \1\2\3/' infile 

-iを上書きして追加する

関連する問題