在每行的开头添加字母计数器

时间:2017-11-01 12:16:19

标签: bash perl sed converter

我想在文本文件中的每一行添加一个计数器,该文件在字母表上编入索引。有没有直接的方法这样做?例如,如果我的文本文件看起来像这样

textAblabla
textBblabla
textCblabla
...
textABblabla
textACblabla

应将其转换为

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

编辑:应该注意的是,很可能每条线都是不同的。我现在强调这一点,因为我的原始问题似乎引起了一些混乱。

编辑2:我不想打印列表,我想用枚举修改(覆盖)原始文件。

3 个答案:

答案 0 :(得分:5)

使用Perl:

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

答案 1 :(得分:2)

调整Cyrus的答案,添加-p命令行选项并更改代码以覆盖原始文件:

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

答案 2 :(得分:0)

使用sed

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

添加-i以覆盖