Cách lấy danh sách tên tệp trong các dòng khác nhau


116

Tôi muốn lấy danh sách tất cả các tệp trong một thư mục, chẳng hạn như với ls, để mỗi tên tệp sẽ nằm trên một dòng riêng biệt mà không có chi tiết bổ sung được cung cấp bởi ls -l. Tôi đã xem xét ls --helpvà không tìm ra giải pháp. Tôi đã thử làm

ls -l | cut --fields=9 -d" "

nhưng lskhông sử dụng số lượng khoảng cách cố định giữa các cột. Bất kỳ ý tưởng về cách làm điều này, tốt nhất là trong một dòng?

Câu trả lời:


259

ls -1

Đó là một con số không hề nhỏ L.


5
tôi thấy điều này trong tài liệu: cross -x, dấu phẩy -m, ngang -x, dài -l, một cột -1, dài -l, dọc -C Tôi không chắc làm thế nào họ nghĩ ra một số trong số này.
Alexander Taylor

23

ls -1. Từ sự trợ giúp:

-1 liệt kê một tệp trên mỗi dòng

Hoạt động trên cygwin và FreeBSD, vì vậy nó có thể không quá cụ thể về GNU.


Hoạt động trên Ubuntu. Cảm ơn
Yonatan Simson

12

giải pháp mà không cần tẩu :-)

 ls --format single-column

Lưu ý rằng các tùy chọn dài chỉ được hỗ trợ trên các coreutils GNU trong đó BSD ls chỉ hỗ trợ các đối số ngắn-1


6

Có lẽ:

ls | awk '{print $NF}'

lưu ý: tên tệp có khoảng trắng như "apple and pears.jpg" sẽ chuyển thành "pears.jpg"
oknate 23/03/17

4

ls | cat ... hoặc có thể, ls -1


4
Xin đừng tránh việc sử dụng vô dụng của mèo :)
jhwist

3
catkhông phải là vô ích trong trường hợp này. Nó định dạng đầu ra của lsmột cột khi OP yêu cầu.
Felix Eve,

3

Sử dụng lệnh sed để liệt kê các cột đơn

ls -l | sed 's/\(^[^0-9].\*[0-9]\*:[0-9]\*\) \(.*\)/\2/'

ls -ltạo ra kết quả giống như toàn bộ câu trả lời của bạn. Không chắc những gì sedđang thêm ở đây ...
Felix Eve.

3

Thử cái này:

$ ls | xargs -n num

Đây numlà số cột bạn muốn liệt kê.


1

đầu tiên bạn có thể sử dụng cái này. nó sẽ hiển thị một tệp trên mỗi dòng.

ls -l | sed 's /(.*) (. *) $ / \ 2 /'

hoặc nếu không bạn có thể sử dụng như vậy

tìm thấy . -maxdepth 1 | sed 's /.///'

cả hai thứ đều giống nhau.


Tôi gặp lỗised: -e expression #1, char 16: invalid reference \2 on `s' command's RHS
Felix Eve,


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.