less
é a ferramenta errada para o trabalho.
Você pode usar cat
para isso:
cat -n file1 >file2
Ou nl
:
nl -ba file1 >file2
Ou pr
:
pr -n -t -T file1 >file2
Ou sed
:
sed '/./=' file1 | sed '/./N; s/\n/\t/' >file2
Ou grep
:
grep -n . file1 | sed 's/:/\t/' >file2
Ou awk
:
awk '{ $0 = NR "\t" $0 } 1' file1 >file2
Ou novamente awk
:
awk '{ sub(/^/, NR "\t") } 1' file1 >file2
Ou perl
:
perl -pe '$_=$.."\t".$_' file1 >file2
Ou novamente perl
:
perl -pe 's/^/$.\t/' file1 >file2
Ou seq
e paste
:
seq $(wc -l file1 | cut -d' ' -f1) | paste - file1 >file2
Ou até mesmo um script de shell simples:
count=0
while IFS= read -r line; do
let count++
printf '%d\t%s\n' $count "$line"
done <file1 >file2
Mas less
é a ferramenta errada. :)