This page is READ-ONLY. It is generated from the old site.
All timestamps are relative to 2013 (when this page is generated).
If you are looking for TeX support, please go to VietTUG.org

in các dòng theo thứ tự ngược

nix cool!
Added by almost 3 years ago

Cách đầu tiên: dùng lệnh tac chỉ có trên các hệ thống Linux

$ tac name.txt

Cách tiếp theo: dùng lệnh tail

$ tail -r name.txt

Trên một số hệ thống (AIX), lệnh tail có giới hạn về kết quả xuất. Do đó, phải dùng cách khác thôi!

$ cat -n name.txt | sort -rn | cut -c8-

Trong cách trên, ta đánh số tất cả các dòng của name.txt khi in ra màn hình, sắp xếp ngược dựa trên các con số đó rồi dùng lệnh cut để bỏ đi các con số dùng để đánh dấu (chiếm 8 vị trí đầu tiên).

Ta có thể dùng perl hoặc ruby:

$ ruby -e "puts STDIN.readlines.reverse" < name.txt
$ perl -e "print reverse <>"             < name.txt
$ perl -e "print reverse <STDIN>"        < name.txt

Và thậm chí là php

$ php -r "echo join('', array_reverse(file('php://stdin')));" < name.txt

Nếu không thích thì bạn có thể gõ lại một tài liệu mới nhưng theo thứ tự ngược so với tài liệu cũ (gõ lại... từ đuôi) =))


Comments

Added by almost 3 years ago

Thú vị !

Added by almost 3 years ago

Một phiên bản bằng Haskell

1 --- filename: tac.hs
2 main = interact reverseLines
3  where reverseLines input =
4         unlines(reverse(lines input))

Sử dụng

$ runghc tac.hs < name.txt