Vì vậy, tôi cần chuyển đổi ngày sang định dạng khác. Với một đường ống dẫn bash, tôi lấy ngày từ giao diện điều khiển đăng nhập cuối cùng, và kéo các bit tương ứng với awk, như vậy:Làm cách nào để sử dụng đầu ra từ awk trong một lệnh khác?
last $USER | grep console | head -1 | awk '{print $4, $5}'
Những kết quả đầu ra: Aug 08
($ 4 = Tháng Tám $ 5 = 08, trong trường hợp này.)
Bây giờ, tôi muốn lấy 'ngày 08 tháng 8' và đặt nó vào lệnh date
để thay đổi định dạng thành ngày số.
Trong đó sẽ giống như thế này:
date -j -f %b\ %d Aug\ 08 +%m-%d
Đầu ra: 08-08
Câu hỏi tôi có là, làm thế nào để tôi thêm rằng để đường ống của tôi và sử dụng các biến awk $ 4 và $ 5 nơi 'Ngày 08 tháng 8' nằm trong lệnh ngày đó?
Bạn đang thực sự hỏi làm thế nào để sử dụng * đầu ra * từ awk, không phải là biến, trong lệnh khác. – Cascabel
Phiên bản 'ngày' nào (và hệ điều hành, v.v.)? Ngày GNU không có '-j' và nó sử dụng' -f' để đọc từ một tệp. Lệnh của bạn sẽ là 'date -d Aug \ 08 +% m-% d' –
Không chắc chắn về số phiên bản chính xác - không có bất kỳ loại đầu ra -version nào. Đó là một BSD được xây dựng trên Mac OSX, vì vậy tôi đã tập hợp các tùy chọn ngày dựa trên trang người đàn ông trên OS X 10.6. Chỉ có ý định chạy tập lệnh trên máy khách mac, nhưng cảm ơn thông tin; nó sẽ hữu ích nếu tôi cần phải làm một cái gì đó tương tự trên Linux. –