В руководстве создана ссылка, которая разрешается в абсолютный путь. Вы создали символическую ссылку, которая разрешается в относительный путь.
Создает абсолютную ссылку:
ln -s /application/nginx-1.8.0 /application/nginx
nginx
всегда будет разрешаться в /application/nginix-1.8.0
, даже если вы переместите nginx
в новый каталог.
Используйте абсолютную ссылку, если nginx
может перемещаться, а /application/nginix-1.8.0
никогда не будет перемещаться.
Создает относительную ссылку:
ln -s nginx-1.8.0 /application/nginx
nginx всегда будет разрешаться в nginx-1.8.0
в любом каталоге nginx
в
При использовании -s
для создания символической ссылки первый параметр может даже не существовать в вашей файловой системе. Создание символической ссылки на файл или путь, который еще не существует, не является ошибкой.
Используйте эту относительную ссылку, если nginix
всегда будет находиться в одном и том же каталоге относительно к nginx-1.8.0
Дополнительные примеры относительных ссылок
ln -s ../real alpha # alpha will always point to real in alpha's parent directory
ln -s real alpha # alpha will always point to real in alpha's directory
ln -s subdir/real alpha # alpha will always point to subdir/real in alpha's directory
bash-4.1$ cat file
1.351364711.103.7319660.2010-01-01 00:00:00
1.345529841.103.7372875.2010-01-01 00:00:49
1.342955629.103.7455272.2010-01-01 00:01:42
1.339694956.103.7520503.2010-01-01 00:02:28
bash-4.1$ awk -F. '{print $NF,$1"."$2,$3"."$4}' OFS=, file
2010-01-01 00:00:00,1.351364711,103.7319660
2010-01-01 00:00:49,1.345529841,103.7372875
2010-01-01 00:01:42,1.342955629,103.7455272
2010-01-01 00:02:28,1.339694956,103.7520503
Использованиеsed
:
$ sed 's/\./,/4; s/\./,/2' file
1.351364711,103.7319660,2010-01-01 00:00:00
1.345529841,103.7372875,2010-01-01 00:00:49
1.342955629,103.7455272,2010-01-01 00:01:42
1.339694956,103.7520503,2010-01-01 00:02:28
Это сначала заменяет 4-ю точку запятой, затем 2-ю.
Мы могли бы сделать замены и в обратном порядке, но поскольку замена 2-й точки удаляет точку из строки, точка, первоначально бывшая 4-й, становится 3-й точкой:
$ sed 's/\./,/2; s/\./,/3' file
1.351364711,103.7319660,2010-01-01 00:00:00
1.345529841,103.7372875,2010-01-01 00:00:49
1.342955629,103.7455272,2010-01-01 00:01:42
1.339694956,103.7520503,2010-01-01 00:02:28
Синтаксис s/.../.../n
(, где n
— цифра, )заменяет n :-е совпадающее вхождение в строке.
Переместить последний столбец вперед можно с помощью
s/^\(.*\),\([^,]*\)/\2,\1/
Т. е. сопоставить элементы от начала строки до запятой, затем запятой, затем элементы, в которых больше нет запятых.
Таким образом, полная команда может быть
$ sed 's/\./,/4; s/\./,/2; s/^\(.*\),\([^,]*\)/\2,\1/' file
2010-01-01 00:00:00,1.351364711,103.7319660
2010-01-01 00:00:49,1.345529841,103.7372875
2010-01-01 00:01:42,1.342955629,103.7455272
2010-01-01 00:02:28,1.339694956,103.7520503