Tôi có một tệp văn bản đơn giản:
$ cat food.txt
Apples
Bananas
Carrots
Linux / Cygwin
Và tôi có thể nghĩ ra một số cách để có được số dòng trong Linux / Cygwin:
$ nl food.txt
1 Apples
2 Bananas
3 Carrots
$ cat -n food.txt
1 Apples
2 Bananas
3 Carrots
$ less -NFX food.txt
1 Apples
2 Bananas
3 Carrots
PowerShell
Điều tốt nhất tôi nghĩ ra là đây:
Cập nhật 2017-11-27Mo : (1) Đã thêm chỉnh sửa nhẹ: Out-String -Stream
để buộc văn bản hóa các đối tượng phiền phức đó. (2) Lưu ý: Tôi đang tìm kiếm thứ gì đó sẽ chấp nhận PIPELINE INPUT.
PS C:\> function nl{$input | Out-String -Stream | Select-String '.*' | Select-Object LineNumber, Line}
PS C:\> cat .\food.txt | nl
LineNumber Line
---------- ----
1 Apples
2 Bananas
3 Carrots
đó có phải là cách dễ hơn? Ngắn hơn? Một cái gì đó được tích hợp với PowerShell?
cat .\food.txt | %{ "$($_.ReadCount) $_" }
cat .\food.txt|%{ "{0,4} {1}" -f $_.ReadCount,$_ }
xây dựng trên @JosefZ nhưng con số chính đáng
cat .\food.txt | select @{ n='LineNumber'; e='ReadCount' }, @{ n='Line'; e={$_} }