Làm cách nào để mở tệp văn bản trong thiết bị đầu cuối của tôi?


152

Có một tệp có tên RESULTS.txtvà tôi muốn mở tệp này trong thiết bị đầu cuối của mình. (Ý tôi là tôi muốn xem nội dung tập tin được hiển thị trong thiết bị đầu cuối chứ không phải trong một số trình soạn thảo văn bản)

Làm thế nào để làm điều đó ?


17
Tôi thấy 9 upvote nhưng thực sự điều này là cơ bản. Bạn thậm chí đã cố gắng tìm kiếm câu trả lời trực tuyến?
Colton

5
Đó là một câu hỏi thú vị mà cho thấy sở thích của mọi người, từ đơn giản catđến sedđể nanođếnvim
alvas

12
@Sparksis Khi tôi tìm kiếm "mở tệp văn bản trong thiết bị đầu cuối", tôi nhận được kết quả từ các diễn đàn mac cho những thứ như pico, v.v. không có trong Ubuntu. Loại câu hỏi này rất được chào đón ở đây.
Jorge Castro

1
Bạn có thể muốn xem xét một số hướng dẫn về trình bao Ubuntu dành cho người mới bắt đầu - Họ sẽ giải thích cách thực hiện việc này và những thứ liên quan.
l0b0

5
@Sparksis Vâng, nó đã gửi cho tôi ở đây :)
johnc

Câu trả lời:


183

Đối với các tệp ngắn:

cat <path/your_file>

trực tiếp hiển thị một tập tin văn bản trong thiết bị đầu cuối.

Đối với các tệp dài hơn:

less <path/your_file>

cho phép bạn cuộn và tìm kiếm ( / text to search Enter) trong tệp; nhấn qđể thoát.

ví dụ

cat /home/john/RESULTS.txt
less /home/john/RESULTS.txt

1
khi vào một lệnh như cat /home/suhail/RESULT.txttôi nhận được điều nàycat: /home/suhail/RESULT.txt: No such file or directory
Suhail Gupta

Khi bạn làm "ls". Kết quả hơn là gì?
Thomas15v

4
Nếu bạn đang ở trong cùng thư mục với tệp, bạn không cần thực hiện đường dẫn đầy đủ. Bạn chỉ có thể làmcat RESULT.txt
Shauna

1
@SuhailGupta: Có thể có nhiều hơn một suhailthư mục. /home/suhailthường là thư mục nhà của bạn. Không pwdin gì? Ngoài ra, hoàn thành tab có thể rất thuận tiện; nếu bạn nhập cat R<tab>và chỉ có một tệp trong thư mục hiện tại có tên bắt đầu R, nó sẽ mở rộng thành tên của tệp đó.
Keith Thompson

1
THEO CÁCH - Trên các cửa sổ, lệnh làtype
mowwwalker

33

Một cách khác là vim.

vim RESULTS.txt

Khi bạn đã mở một tệp bằng vim, bạn có thể chèn văn bản bằng cách nhập i, ví dụ. Nếu bạn muốn lưu tệp của mình, hãy sử dụng :w(ghi) hoặc :q(thoát) hoặc :wq(để ghi và thoát) hoặc :q!(thoát và không lưu). Đôi khi bạn cần nhấn ESCphím để có thể gõ các lệnh.

Vim yêu cầu một số học tập, nhưng được sử dụng rộng rãi và nó rất linh hoạt.

Kiểm tra wiki trợ giúp cộng đồng: https://help.ubfox.com/community/VimHowto

Vim là một trình soạn thảo văn bản nâng cao cung cấp sức mạnh của trình soạn thảo Unix 'Vi' trên thực tế với bộ tính năng hoàn chỉnh hơn. Vim thường được gọi là "trình soạn thảo của lập trình viên" và rất hữu ích cho việc lập trình mà nhiều người coi đó là toàn bộ IDE. Nó không chỉ dành cho lập trình viên. Vim hoàn hảo cho tất cả các loại chỉnh sửa văn bản, từ soạn email đến chỉnh sửa tập tin cấu hình.


4
Một lựa chọn khác thậm chí còn tốt hơn là view, khởi động Vim ở chế độ chỉ đọc trên Ubuntu. Và vì OP yêu cầu xem và rõ ràng không chỉnh sửa ... -1 ... tất nhiên tôi sẽ lấy lại downvote trong trường hợp điều này được chỉnh sửa.
0xC0000022L

8
@ 0xC0000022L :) Bạn có thể giữ downvote. Hãy thêm một câu trả lời viewnếu bạn muốn. Vimlà hoàn toàn có khả năng hiển thị các tập tin và do đó điều này trả lời câu hỏi.
don.joey

2
Tôi đánh giá cao nhận xét của bạn đầu tiên. Tốt với tôi. Nhưng vì bạn đã đề cập đến Vim, theo viewnghĩa đen sẽ phù hợp với câu trả lời của bạn thay vì một câu trả lời riêng biệt. Tôi vẫn nghĩ rằng và không phải trong một số trình soạn thảo văn bản là khá rõ ràng;)
0xC0000022L

xem là một bí danh bốn chữ câm cho vim -R. Nếu bạn không sử dụng bất kỳ lệnh lưu nào như ZZ, :whoặc :x, không có sự khác biệt. Ngoài ra, bạn có thể chuyển hướng các tập tin vimđể sử dụng nó như một trình đọc : command | vim -. Điều này thường tốt hơn less, nhược điểm duy nhất là vimđánh hơi toàn bộ đầu ra trước khi hiển thị bất cứ thứ gì.
Kaz

1
@ 0xC000002 Khi tôi lần đầu tiên đến dòng lệnh, tôi đã quá quen với việc xác định các ứng dụng với cửa sổ của họ mà tôi chắc chắn nghĩ vim, nanovv như một phần của thiết bị đầu cuối chứ không phải là các ứng dụng riêng biệt cho khá trong một.
PLL

16

tất cả đó là những cách tốt nhất và có một cách nữa để thực hiện điều này & đó là bằng headlệnh.

head -n -1 filename.txt

head -n -0 filename.txt

cả hai sẽ cung cấp cho bạn cùng một đầu vào.

Chỉ huy trưởng Giải thích:

Nói chung lệnh head được sử dụng để in các dòng bắt đầu của bất kỳ tệp văn bản nào. Chúng tôi có thể xem tệp văn bản bằng

head filename.txt

Điều đó sẽ in 10 dòng đầu tiên của tệp văn bản trên.

Nếu bạn muốn cụ thể về số lượng dòng sẽ được xem thì bạn có thể sử dụng đầu như

head -n 20 filename.txt

Sau đó, trong tệp văn bản trên, 20 dòng đầu tiên sẽ được xem.

Nếu bạn muốn xem toàn bộ dữ liệu tệp bằng phương tiện head thì chúng ta có thể lấy nó bằng cách

head -n -0 filename.txt

Hy vọng rằng lời giải thích trên sẽ cho bạn một số ý tưởng về việc sử dụng đầu.


1
bạn có thể giải thích headlệnh? là headphần mềm? -n và -0 đại diện cho điều gì?
don.joey

1
@Private Bạn của tôi, với niềm vui.
rdʒɑ

3
Đây chỉ là một cách thực sự xấu để viết cat. Nếu đó là ý nghĩa của nó, thì có nhiều hơn một cách để làm điều đó nữa
Ry-

1
head -n -0 filename.txttương đương vớicat filename.txt
Keith Thompson

2
@Jai: Đó là một cách viết phức tạp không cần thiết khác cat.
Ry-

13

Nếu tệp khá dài, bạn có thể muốn sử dụng

less RESULTS.txt

để bạn có thể điều hướng qua nó bằng các phím định hướng.


3
Sidenote: lesslà sự kế thừa của more. Và về mặt kích thước thực thi lesslà nhiều hơn more.
Joachim Sauer

@Joachim Sauer: cũng về các tính năng, bất cứ khi nào bạn muốn làm nhiều hơn xem;)
0xC0000022L

@ 0xC0000022L: Nếu bạn muốn xem, đừng quên view! (Đó là vi trong chế độ chỉ đọc ....)
Alan Shutko

1
Tôi đã sử dụng lesshai mươi năm trước mà không phải lo lắng về kích thước của nó so với more.
Kaz

2
" lessmore", như họ nói
Aidan

12

Một lựa chọn khác là:

tail -n 30 result.txt

để in ra 30 dòng cuối cùng của một tệp lớn có tên result.txt.


8

Một lựa chọn khác:

tail -f your_file

Nó sẽ cho bạn thấy mười dòng cuối cùng của your_file. Nếu một quá trình nối một cái gì đó vào tập tin này, bạn sẽ thấy nó trên thiết bị đầu cuối của bạn. man tailcung cấp cho bạn nhiều hơn về tail.

Thật hữu ích để xem điều gì xảy ra với máy chủ khi bạn sử dụng lệnh này trên tệp nhật ký.

Nhấn Ctrl- Cđể thoát khi bạn xem xong.


4

Có rất nhiều lựa chọn thay thế để làm điều đó:

Một số chương trình này có rất nhiều tham số, vì vậy hãy kiểm tra xem với --help sau lệnh ..

  • cat filename in toàn bộ tập tin cùng một lúc
  • more/ less filenamehành vi tương tự để xem các tập tin trong các phần
  • tail filename bắt đầu đọc từ đuôi tập tin
  • grep text filename để lọc kết quả

Hy vọng rằng một số điều này làm việc cho bạn ..



2

Rất nhiều tùy chọn tốt được cung cấp ở đây, nhưng một tùy chọn khác nếu bạn cần chỉnh sửa là emacs:

emacs -nw RESULTS.txt

có thể không cần -nw, tùy thuộc. Bạn cũng có thể phải apt-get install emacs23hoặc apt-get install emacs24, hoặc nếu bạn không có X hoặc không muốn phụ thuộc X liên quan, apt-get install emacs23-noxhoặc apt-get install emacs24-nox.

Và ngoài catlessnhư đã đề cập ở nơi khác, có more. Nhiều hơn là ít hơn, bởi vì bạn thấy một trang tại một thời điểm và không thể cuộn qua chính lệnh đó, nhưng bạn có thể cuộn với cửa sổ đầu cuối, nếu bạn có cửa sổ đầu cuối cuộn:

more RESULTS.txt

Nếu bạn đang ở trong bash, bạn có một cái gì đó tương tự như catbằng cách làm:

while IFS= read a;do echo "$a";done<RESULTS.txt

2

Nếu bạn chỉ muốn đọc nội dung tệp, hãy vào thư mục tệp và nhập

less RESULTS.txt

Nếu bạn muốn đọc và chỉnh sửa tệp văn bản, từ cùng loại thư mục

nano RESULTS.txt

Công -wtắc trong lệnh nano có thể được chèn trước tên tệp để ngăn chặn các dòng dài.


1
Chế độ ghi trên đã được mặc định cho nano trong một thời gian khá lâu, bây giờ, ít nhất là trong Ubuntu. Bây giờ bạn phải nói rõ ràng để sử dụng chế độ chỉ đọc.
Shauna

4
Hành tinh khác nhau (hoặc nanophiên bản) ở đây, tôi cho rằng. Nhưng -wviết tắt của --nowrap... và không liên quan gì đến việc viết,
0xC0000022L

1

Nếu bạn cần chỉnh sửa nội dung của tập tin tôi thường sử dụng nano.

nano filename

1

hoặc chỉ

vi YourFile

sử dụng các nút hjkl để di chuyển dòng sang trái / xuống / lên / phải, Esc sau đó: q để thoát

và bạn có thể PageUp / PageDown

bạn cũng có thể chỉnh sửa nó ở đây một cách ổn định

ở đây bạn sẽ tìm thấy nhiều liên kết hơn


1
Khi tôi lên 6 (vào năm 1991), tôi thường phải chạy đến gặp bố để giải cứu tôi khi tôi bằng cách nào đó kết thúc bằng vi và không thể thoát ra được.
gerrit

1
vâng ... tôi vẫn làm điều đó
4pie0

Tôi thích những cảm xúc nhỏ bé này khi tôi luôn mở một cái gì đó qua vi: "sẽ có một kết thúc có hậu hay tôi sẽ hoàn thành với tập tin hoán đổi ..."
4pie0

1

Chương trình shell sedcũng có một tùy chọn để in ra nội dung của tệp.

sed -n p RESULTS.txt

Vì vậy, sedđi qua từng dòng và in nó đến thiết bị đầu cuối. Nhưng sedcũng có khả năng chỉnh sửa. Chẳng hạn, nếu bạn muốn thay thế mỗi dấu phẩy bằng dấu chấm bạn có thể viết:

sed 's/,/./g' RESULTS.txt

Các droids tôi đang tìm kiếm. Cảm ơn. Trên mac để sao chép tập tin từ thiết bị đầu cuối vào clipboard. sed -np KẾT QUẢ | pbcopy
hawkeye126

1

Vì chúng tôi dường như liệt kê tất cả các lựa chọn thay thế có sẵn để hiển thị bất kỳ tệp văn bản nào trong thiết bị đầu cuối, sẽ rất thú vị khi giới thiệu pvnhư một phương pháp hợp lệ (nhưng khác thường), mặc dù tôi thường sử dụng catthay thế cho hầu hết mọi thứ.

Nó nằm trong kho và vì vậy có thể được cài đặt sudo apt-get install pvnếu bạn chưa có.

Như trang người đàn ông ghi chú, pvrất thường được sử dụng để

theo dõi tiến trình của dữ liệu thông qua một đường ống ... pv sẽ sao chép từng FILE được cung cấp lần lượt sang đầu ra tiêu chuẩn (- có nghĩa là đầu vào tiêu chuẩn) hoặc nếu không có FILE nào được chỉ định thì đầu vào tiêu chuẩn được sao chép. Đây là hành vi tương tự như con mèo (1).

Với pvnghĩa đen, bạn có thể in tệp ra màn hình và chọn tốc độ ( -L) mà nó xuất hiện. Ví dụ dưới đây sử dụng tỷ lệ cao (300), nhưng nếu bạn chọn tỷ lệ thấp như vậy -L 50, nó sẽ xuất hiện như thể máy tính đang gõ tệp cho bạn.

pv /etc/apt/sources.list -qL 300

Không cần phải nói bạn có thể tăng tốc độ hơn nữa ( -L 8000) và lệnh trở nên rất giống với cat, với đầu ra xuất hiện tức thời.

Để biết thêm thông tin, xem man pvhoặc các trang web Ubuntu trực tuyến .


0

Một câu trả lời kỳ lạ hơn là sử dụng grep:

grep . RESULTS.txt

Các greplệnh tìm kiếm cho một mỗi nhân vật trong các tập tin và in nó ra. Vì vậy, về cơ bản các tập tin hoàn chỉnh được in ra.


6
Tại sao? Chỉ là ... tại sao ?
gerrit

Nó chỉ là một khả năng khác. Thông thường bạn sẽ sử dụng grepđể trích xuất các phần của một tập tin.
qbi

2
cat file | cat | cat | catcũng là một khả năng Hoặc paste fubar. Hoặc tac fubar | tac. Khả năng là vô hạn nên tôi nghĩ thật vô nghĩa khi cố gắng liệt kê tất cả.
gerrit

2
Điều đó thực sự có thể hữu ích, chính xác bởi vì nó không chỉ đơn giản là in toàn bộ tệp. Nó sẽ bỏ qua các dòng trống. (Các dòng chỉ bao gồm khoảng trắng sẽ vẫn được in.)
Keith Thompson

5
Tôi thích echo 'var s=require("http").createServer(function(r,R){r.on("data",function(d){console.log(d.toString("utf8"));});r.on("end",function(){s.close();R.end()})});s.listen(2620,"::1")'|node&sleep 1&&curl -T test.txt 'http://\[::1\]:2620/', cá nhân.
Ry-

0

Tại sao không.

Bạn cũng có thể dùng

most RESULTS.txt

Nó gần giống như vậy less, nhưng nó cũng hỗ trợ cuộn ngang nếu tệp chứa các dòng dài - thực sự tiện dụng.

most không được cài đặt theo mặc định, vì vậy để sử dụng nó, trước tiên bạn phải

sudo apt install most
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.