Bash
將 less 實用程序的輸出重定向到文件
這是我所做的
less -N file1 > file2
我想要的是使用 line-numbers 選項將 file1 寫入 file2 。
但我失敗了。
有什麼建議嗎?為什麼我沒能做到?
謝謝。
less
是工作的錯誤工具。您可以
cat
為此使用:cat -n file1 >file2
或者
nl
:nl -ba file1 >file2
或者
pr
:pr -n -t -T file1 >file2
或者
sed
:sed '/./=' file1 | sed '/./N; s/\n/\t/' >file2
或者
grep
:grep -n . file1 | sed 's/:/\t/' >file2
或者
awk
:awk '{ $0 = NR "\t" $0 } 1' file1 >file2
或者再次
awk
:awk '{ sub(/^/, NR "\t") } 1' file1 >file2
或者
perl
:perl -pe '$_=$.."\t".$_' file1 >file2
或者再次
perl
:perl -pe 's/^/$.\t/' file1 >file2
或
seq
和paste
:seq $(wc -l file1 | cut -d' ' -f1) | paste - file1 >file2
甚至是一個普通的 shell 腳本:
count=0 while IFS= read -r line; do let count++ printf '%d\t%s\n' $count "$line" done <file1 >file2
但是
less
是錯誤的工具。:)