Мне нужно удалить. в моих данных

Вы уже знаете о zic , который компилирует файлы исходных зон в двоичные файлы, которые вы видите в / usr / share / zoneinfo . Внизу страницы руководства спрятана ссылка на zdump , и это указывает на инструмент, который вы, возможно, ищете ( zdump - дампер часовых поясов ).

Вот пример вывода для часового пояса, используемого во Франции, показывающий дату / время перехода на летнее время за два года, 2017 и 2018.

zdump -V -c 2017,2019 Europe/Paris
Europe/Paris  Sun Mar 26 00:59:59 2017 UT = Sun Mar 26 01:59:59 2017 CET isdst=0 gmtoff=3600
Europe/Paris  Sun Mar 26 01:00:00 2017 UT = Sun Mar 26 03:00:00 2017 CEST isdst=1 gmtoff=7200
Europe/Paris  Sun Oct 29 00:59:59 2017 UT = Sun Oct 29 02:59:59 2017 CEST isdst=1 gmtoff=7200
Europe/Paris  Sun Oct 29 01:00:00 2017 UT = Sun Oct 29 02:00:00 2017 CET isdst=0 gmtoff=3600
Europe/Paris  Sun Mar 25 00:59:59 2018 UT = Sun Mar 25 01:59:59 2018 CET isdst=0 gmtoff=3600
Europe/Paris  Sun Mar 25 01:00:00 2018 UT = Sun Mar 25 03:00:00 2018 CEST isdst=1 gmtoff=7200
Europe/Paris  Sun Oct 28 00:59:59 2018 UT = Sun Oct 28 02:59:59 2018 CEST isdst=1 gmtoff=7200
Europe/Paris  Sun Oct 28 01:00:00 2018 UT = Sun Oct 28 02:00:00 2018 CET isdst=0 gmtoff=3600

Получить переходы на летнее время для вашего часового пояса немного сложнее, но эта команда вернет их за 2017 год. Здесь вы можете видеть, что я нахожусь в часовом поясе Великобритании с метками часового пояса BST / GMT (летнее / зимнее время):

zdump -V -c2017,2018 $(cat /etc/timezone)
Europe/London  Sun Mar 26 00:59:59 2017 UT = Sun Mar 26 00:59:59 2017 GMT isdst=0 gmtoff=0
Europe/London  Sun Mar 26 01:00:00 2017 UT = Sun Mar 26 02:00:00 2017 BST isdst=1 gmtoff=3600
Europe/London  Sun Oct 29 00:59:59 2017 UT = Sun Oct 29 01:59:59 2017 BST isdst=1 gmtoff=3600
Europe/London  Sun Oct 29 01:00:00 2017 UT = Sun Oct 29 01:00:00 2017 GMT isdst=0 gmtoff=0

Я не знаю инструмента для декомпиляции двоичных файлов в / usr / share / zoneinfo обратно в файлы правил. Возможно, вам будет проще начать с исходных наборов правил; они достаточно легко доступны.

1
17.11.2018, 11:47
1 ответ

Команда R излишне сложна, например, в этом примере вам не нужна вставка . Двойные кавычки расположены очень странно, а команда sed неверна. Вот исправление:

system('sed "s/\\.//" < map1.txt > map.txt')

Обратите внимание, что \\ необходим вместо простого \ из-за того, как R интерпретирует строки.

2
27.01.2020, 23:34

Теги

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