Tôi đã có các tệp văn bản nhiều dòng dữ liệu được phân định bằng tab (đôi khi). Tôi muốn xuất tệp để tôi có thể lướt qua tệp - vì vậy tôi chỉ muốn nhìn thấy 80 ký tự đầu tiên của mỗi dòng (Tôi đã thiết kế tệp văn bản để đặt nội dung quan trọng lên đầu tiên trên mỗi dòng).
Tôi nghĩ rằng tôi có thể sử dụng con mèo để đọc từng dòng của tệp và gửi từng dòng đến lệnh tiếp theo trong một đường ống:
cat tabfile | cut -c -80
Nhưng điều đó dường như bị phá vỡ. Tôi đã thử khỉ xung quanh và grep dường như hoạt động - nhưng sau đó tôi phát hiện ra rằng, không có gì cả (không phải mỗi dòng trong tệp có hơn 80 ký tự) - xuất hiện các tab được tính là các ký tự đơn bằng cách cắt.
Tôi đã thử:
cat tabfile | tr \t \040 | cut -c -80
Mặc dù điều đó sẽ thu thập dữ liệu của tôi một chút, bằng cách loại bỏ khả năng đọc khoảng trắng. Nhưng điều đó đã không làm việc. Cũng không:
cat tabfile | tr \011 \040 | cut -c -80
Có lẽ tôi đang sử dụng tr sai? Trước đây tôi đã gặp rắc rối với tr, muốn xóa nhiều khoảng trắng (xuất hiện phiên bản tr mà tôi có quyền truy cập trên máy này có tùy chọn -s để nén nhiều ký tự - tôi có thể cần chơi với nó nhiều hơn)
Tôi chắc chắn rằng nếu tôi loay hoay tôi có thể sử dụng perl, awk hoặc sed, hoặc một cái gì đó để làm điều này.
Tuy nhiên, tôi muốn một giải pháp sử dụng các lệnh thông thường (POSIX?), Để nó khả dụng nhất có thể. Nếu tôi kết thúc bằng cách sử dụng tr, cuối cùng tôi có thể thử biến các tab thành ký tự, có thể thực hiện phép tính, cắt tính toán và sau đó biến các ký tự đó trở lại thành các tab cho đầu ra.
Nó không cần phải là một dòng duy nhất / được nhập trực tiếp trên dòng lệnh - một kịch bản là tốt.
Thông tin thêm về các tập tin tab:
Tôi sử dụng tab để ngắt các trường, vì một ngày nào đó tôi có thể muốn nhập dữ liệu vào một số chương trình khác. Vì vậy, tôi có xu hướng chỉ có một tab giữa các phần nội dung. Nhưng tôi cũng sử dụng các tab để sắp xếp mọi thứ với các cột dọc, để hỗ trợ khả năng đọc khi xem tệp văn bản thuần túy. Điều đó có nghĩa là đối với một số phần văn bản tôi đệm phần cuối của nội dung với khoảng trắng cho đến khi tôi đến nơi tab sẽ hoạt động để xếp hàng trường tiếp theo với các phần bên trên và bên dưới nó.
DarkTurerald # 00CED1 Biển, Bầu trời, Rowboats Thiên nhiên MediumSpringGreen # 00FA9A Hữu ích cho cây Magic Vôi # 00FF00 Chỉ để sử dụng cho gà mùa xuân và fru $
pr
từ coreutils
: pr -1 -t -l200 -W80 file
. Tăng / giảm độ dài trang (số sau -l
) theo nhu cầu của bạn.