将字母计数器添加到每行的开头
Add alphabet counter to beginning of each line
我想为按字母表编制索引的文本文件中的每一行添加一个计数器。有没有直接的方法可以做到这一点?例如,如果我的文本文件看起来像这样
textAblabla
textBblabla
textCblabla
...
textABblabla
textACblabla
应该转换成
A textAblabla
B textBblabla
C textCblabla
...
AB textABblabla
AC textACblabla
编辑:应该注意的是,每行很可能都是不同的。我现在强调这一点,因为我原来的问题似乎引起了一些混乱。
编辑 2:我不想打印列表,我想用枚举修改(覆盖)原始文件。
使用 Perl:
perl -e '$x=A; while (<>) {print $x++." $_";}' file
调整 Cyrus 的回答以添加 -p
命令行选项并更改代码以覆盖原始文件:
$ perl -pi -e 'BEGIN { $x="A" }; $_ = $x++ . " $_"' your_file_here
使用 sed
sed -E 's/([^A-Z]+)([A-Z]+)(.*)/ /' infile
添加-i 覆盖
我想为按字母表编制索引的文本文件中的每一行添加一个计数器。有没有直接的方法可以做到这一点?例如,如果我的文本文件看起来像这样
textAblabla
textBblabla
textCblabla
...
textABblabla
textACblabla
应该转换成
A textAblabla
B textBblabla
C textCblabla
...
AB textABblabla
AC textACblabla
编辑:应该注意的是,每行很可能都是不同的。我现在强调这一点,因为我原来的问题似乎引起了一些混乱。
编辑 2:我不想打印列表,我想用枚举修改(覆盖)原始文件。
使用 Perl:
perl -e '$x=A; while (<>) {print $x++." $_";}' file
调整 Cyrus 的回答以添加 -p
命令行选项并更改代码以覆盖原始文件:
$ perl -pi -e 'BEGIN { $x="A" }; $_ = $x++ . " $_"' your_file_here
使用 sed
sed -E 's/([^A-Z]+)([A-Z]+)(.*)/ /' infile
添加-i 覆盖