Centos/Linux Bashsed: khối lượng chuyển đổi kỷ nguyên giữa ngẫu nhiên văn bản khác
Tôi có một tập tin nhật ký, trong đó có rất nhiều văn bản trong và số kỷ nguyên ở khắp mọi nơi. Tôi muốn thay thế tất cả các kỷ nguyên bất cứ nơi nào họ đang vào ngày/thời gian có thể đọc được.
Tôi đã muốn điều này thông qua sed, vì đó dường như là công cụ cho công việc. Tôi dường như không thể lấy phần thay thế của sed để phân tích cú pháp biến (epoch) thành biến đổi.
Mẫu những gì tôi đang làm việc với ...
echo "Some stuff 1346474454 And not working" \
| sed 's/1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/'"`bpdbm -ctime \&`"'/g'
Some stuff 0 = Thu Jan 1 01:00:00 1970 And not working
Phần bpdbm sẽ chuyển đổi một biến thời đại cung cấp vào ngày hữu ích. Như thế này ..
bpdbm -ctime 1346474454
1346474454 = Sat Sep 1 05:40:54 2012
Vậy làm thế nào để tôi nhận được mục "tìm thấy" được phân tích cú pháp thành lệnh. Vì tôi dường như không thể làm cho nó hoạt động được.
Mọi trợ giúp đều đáng yêu. Nếu có một cách khác, đó sẽ là mát mẻ ... nhưng tôi nghi ngờ sed sẽ nhanh nhất.
Cảm ơn bạn đã dành thời gian!
chạy lệnh này bằng 'set -vx' để xem tại sao nó không hoạt động.Sed phải xử lý các dòng dữ liệu trước khi nó "biết" giá trị của '&', các cmd-subtitution sẽ phải được trì hoãn cho đến khi điều cuối cùng, nhưng nó có khả năng điều đầu tiên nhận được proccessed. Bạn có thể làm điều này dễ dàng trong awk. Niềm tin của bạn trong sed là cảm động ;-). Chúc may mắn! – shellter
Vâng, vâng ... muốn thử và giữ im lặng và lúng túng khi có thể. Sẽ có một vở kịch khác với Sed ngày mai, tôi đã không từ bỏ một giải pháp dựa trên sed – user1649704