1

我有一个 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

谢谢您的帮助

4

3 回答 3

4
awk '{ print ">"NR }1' file.txt
于 2013-05-29T18:00:49.720 回答
2
perl -pe 'print ">$.\n"' file.txt
于 2013-05-29T20:06:47.173 回答
1

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
于 2013-05-29T20:04:24.717 回答