ฉันมีไฟล์ข้อความง่ายๆ:
$ cat food.txt
Apples
Bananas
Carrots
ลินุกซ์ / Cygwin
และฉันสามารถคิดถึงวิธีรับหมายเลขบรรทัดใน 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
สิ่งที่ดีที่สุดที่ฉันคิดไว้คือ:
อัพเดท 2017-11-27Mo : (1) เพิ่มการปรับแต่งเล็กน้อย: Out-String -Stream
เพื่อบังคับให้เป็นวัตถุที่น่ารำคาญ (2) หมายเหตุ: ฉันกำลังมองหาบางอย่างที่จะยอมรับ 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
มีวิธีที่ง่ายกว่านี้ไหม? ลงเรื่อย ๆ ? มีบางอย่างในตัวกับ PowerShell
จะแค่: select-string file.txt -pattern "." มีประโยชน์อะไรบ้าง?
—
ช่วยมือ
cat .\food.txt | %{ "$($_.ReadCount) $_" }
cat .\food.txt|%{ "{0,4} {1}" -f $_.ReadCount,$_ }
การสร้างบน @JosefZ แต่ตัวเลขถูกต้อง
@LotPings น่าจะเป็นที่สั้นที่สุดและตรงไปตรงมาที่สุด
—
Bill_Stewart
cat .\food.txt | select @{ n='LineNumber'; e='ReadCount' }, @{ n='Line'; e={$_} }