Вы можете использовать awk-программу следующим образом:
awk '{ print strftime("%c",$1)"|" $2"|"$3"|"$4 }' file
ядром является использование функции strftime для преобразования эпохи в формат даты
Вот результат:
#awk '{ print strftime("%c",$1)"|" $2"|"$3"|"$4 }' file
Sun Jan 22 10:12:26 2006|180900|61.153.158.197|1409
Sun Jan 22 10:12:38 2006|181622|61.153.158.197|1409
Sun Jan 22 10:22:38 2006|180026|221.226.124.114|1374
Sun Jan 22 10:23:22 2006|179485|121.13.128.132|1409
P.S. Или вы можете использовать неявный разделитель вывода:
awk 'BEGIN { OFS="|"} {$1= strftime("%c",$1) }1' file
Исполняемый файл firefox
представляет собой сценарий оболочки в вашей системе.
В некоторых приложениях используется сценарий-оболочка, который настраивает среду выполнения для приложения, возможно, для обеспечения лучшей интеграции с текущим вариантом Unix или для предоставления альтернативных способов запуска приложения (новые наборы параметров командной строки и т. ), которые само приложение не предоставляет. Иногда сценарий-оболочка используется для выбора правильного фактического двоичного файла для запуска в зависимости от того, как этот сценарий был вызван.
Например, компилятор C MPI («Интерфейс передачи сообщений») представляет собой не что иное, как скрипт-оболочку для cc
(или любого другого компилятора, на использование которого он настроен), который гарантирует, что заголовки MPI находятся в путь поиска и что библиотека MPI связана при компиляции.
Взгляните на этот скрипт, чтобы увидеть, какие двоичные файлы он вызывает при каких обстоятельствах.
$ file $(which firefox)
/usr/bin/firefox: Bourne-Again shell script, ASCII text executable
$ tail $(which firefox)
done
# Run the browser
debugging=0
if [ $debugging = 1 ]
then
echo $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
fi
exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"