Câu trả lời:
Một phương pháp sẽ là phân tích đầu ra của ls
.
$ ls -lah | awk '{print $9, $5}' | tail -5
.yEd 4.0K
.youtube-dl 4.0K
.zenmap 4.0K
.zshrc 32
zzzz 3.3K
Nhân tiện, bạn có thể dọn sạch đầu ra bằng cách sử dụng column
.
$ ls -lah | awk '{print $9, $5}' | column -t | tail -5
z 4
.youtube-dl 4.0K
.zenmap 4.0K
.zshrc 32
zzzz 3.3K
Nếu bạn muốn loại bỏ các cột khác, trong khi giữ các cột khác, bạn có thể sử dụng awk
phương pháp này để xóa các cột không mong muốn.
$ ls -lah | awk '{$1=$2=$3=$4=$6=$7=$8=""}1' | tail -5
4.0K .youtube-dl
4 z -> zzzz
4.0K .zenmap
32 .zshrc
3.3K zzzz
OP đã đưa ra chuỗi lệnh này, sử dụng kết hợp các ví dụ từ phía trên.
$ ls -lah | awk '{print $5, $9$10$11}' | column -t | column
...
4.0K .gphoto 773 .rdebug_hist 4.0K .youtube-dl
1.5K .grip 4.0K .rdesktop 4 z->zzzz
column
ls -lahQ
để trích dẫn tên tệp thay thế
Từ trang người đàn ông:
-s, --size print the allocated size of each file, in blocks
Vì vậy, đối với kích thước có thể đọc được của con người:
ls -sh
ls -ash
Một cách nhanh chóng và bẩn thỉu là kết hợp đầu ra của ls -lah
với một vài lệnh khác:
ls -lah | tr -s ' ' | cut -d' ' -f5,9-
Các tr -s
lệnh thay thế nhiều không gian với không gian duy nhất, và cut -d' ' -f5,9-
in các cột 5 và 9 (và xa hơn nữa). Các 9-
yêu cầu vào tài khoản cho các cột không gian tách ra thêm sản xuất bởi liên kết tượng trưng.
ls -lah | tr -s ' ' | cut -d' ' -f5,9- | column -t | column
Cách gần nhất bạn có thể nhận được ls
chỉ là chặn các cột người dùng và nhóm ls -log
. Nếu bạn muốn đi xa hơn, bạn có thể phân tích đầu ra. Coi chừng cột thứ hai (số liên kết) có chiều rộng thay đổi. Đoạn mã sau đây cẩn thận để duy trì căn chỉnh cột, đối phó với tên tệp tùy ý (ngoại trừ dòng mới nếu chúng được truyền theo nghĩa đen) và hiển thị đầu ra có màu (loại bỏ phần đó nếu bạn không chạy GNU coreutils).
if [ -t 1 ]; then color=yes; else color=no; fi
ls -h -log --color="$color" | sed 's/^[^ ][^ ]* *[^ ][^ ]* \( *[^ ][^ ]*\) ............/\1/'
column
là cách để đi.
ls -halog --color=no | sed 's/^[^ ][^ ]* *[^ ][^ ]* \( *[^ ][^ ]*\) ............/\1/'|column
awk
dễ nhớ hơn
ls -lah | awk '{print $5, $9$10$11}'|column
tôi sẽ có được thứ tôi muốn