我有一个 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
谢谢您的帮助
awk '{ print ">"NR }1' file.txt
perl -pe 'print ">$.\n"' file.txt
I think awk is a little bit too strong for this. A pure bash version:
while read; do echo -e ">$((++i))\n$REPLY"; done<<XXX
TEST1
TEST2
TEST3
TEST4
XXX
Output
>1
TEST1
>2
TEST2
>3
TEST3
>4
TEST4
Without the here-is-the-document stuff:
while read; do echo -e ">$((++i))\n$REPLY"; done<file.txt