`стат` выходной формат: усечь поле даты

Это должно работать с GNU sed:

sed -i '1s/^/string/' file

это отличается от вашего решение в том, чтобы не добавлять новую строку.

test

Перед запуском команды содержимое файла следующее:

some
text
here
already

После выполнения команды:

stringsome
text
here
already
2
24.06.2018, 11:16
1 ответ

Хорошо, так как я могу указать printf -как length/pad (%010s, например ), давайте вернемся к необработанной документации printf, которая документирует точность, которая на самом деле является максимальной длиной поля.. И тадааа.... он работает в форматах stat! (здесь усечено, чтобы сохранить только дату):

stat -c '%.10y %10s %n' /boot/*
2018-05-17    1501659 /boot/abi-4.13.0-43-generic
2018-05-30    1501528 /boot/abi-4.13.0-45-generic
2018-05-17     213220 /boot/config-4.13.0-43-generic
2018-05-30     213220 /boot/config-4.13.0-45-generic
1970-01-01       4096 /boot/efi
2018-06-15       1024 /boot/grub
2018-05-22   52211016 /boot/initrd.img-4.13.0-43-generic
2018-06-22   52210415 /boot/initrd.img-4.13.0-45-generic
2017-04-08      12288 /boot/lost+found
2016-01-28     182704 /boot/memtest86+.bin
2016-01-28     184380 /boot/memtest86+.elf
2016-01-28     184840 /boot/memtest86+_multiboot.bin
2018-05-17        255 /boot/retpoline-4.13.0-43-generic
2018-05-30        255 /boot/retpoline-4.13.0-45-generic
2018-05-17    3884045 /boot/System.map-4.13.0-43-generic
2018-05-30    3883942 /boot/System.map-4.13.0-45-generic
2018-05-17    7713296 /boot/vmlinuz-4.13.0-43-generic
2018-05-22    7715224 /boot/vmlinuz-4.13.0-43-generic.efi.signed
2018-05-30    7712560 /boot/vmlinuz-4.13.0-45-generic
2018-06-14    7714488 /boot/vmlinuz-4.13.0-45-generic.efi.signed
0
27.01.2020, 21:53

Теги

Похожие вопросы