我有一个包含这样的行的file.txt:
TEST1
TEST2
TEST3
TEST4
我希望有这样的输出,行数为>在开始时,然后跳线:
>1
TEST1
>2
TEST2
>3
TEST3
>4
TEST4
我尝试了以下命令
awk '{print ">"};{ print NR,$0};' file.txt > file2.txt
但它给了我一个糟糕的结果
>
1 TEST1
>
2 TEST2
>
3 TEST3
>
4 TEST4
感谢您的帮助
答案 0 :(得分:4)
awk '{ print ">"NR }1' file.txt
答案 1 :(得分:2)
perl -pe 'print ">$.\n"' file.txt
答案 2 :(得分:1)
我认为awk
对此有点过于强烈。一个纯bash
版本:
while read; do echo -e ">$((++i))\n$REPLY"; done<<XXX
TEST1
TEST2
TEST3
TEST4
XXX
输出
>1
TEST1
>2
TEST2
>3
TEST3
>4
TEST4
没有这里的文件:
while read; do echo -e ">$((++i))\n$REPLY"; done<file.txt