Как разбить строку 201702221015
в формате CCYY|MM|DD|HH|MN
с использованием AWK, то есть разбить строку 201702221015
, чтобы 2017|02|22|10|15
?Как разбить строку 201702221015 в ввгг | MM | DD | HH | формат MN с использованием AWK
ответ
@Hanif: Try (хотя я не уверен, что о требовании):
echo "201702221015" | awk '{print substr($0,1,4)"|"substr($0,5,2)"|"substr($0,7,2)"|"substr($0,9,2)"|"substr($0,11,2)}'
Простое и простое решение (+1) –
Зачем использовать AWK? СЭД имеет смысл:
echo "201702221015" | sed -E 's/([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/\1|\2|\3|\4|\5/'
wrt 'sed делает больше смысла' - sed только имеет больше смысла, чем awk, если вы вызываете однострочный ключ из командной строки, чтобы сделать это одну конкретную вещь (но тогда вы также должны рассмотреть возможность использования ваших оболочек, встроенных в механизмы замещения вместо sed). Однако, если вы пишете скрипт для управления текстом вообще, тогда вы должны использовать awk, и поэтому использование sed для этой части не имеет никакого смысла. –
Один из способов с GNU AWK для gensub():
$ awk 'BEGIN{print gensub(/(..)(..)(..)(..)$/,"|\\1|\\2|\\3|\\4",1,201702221015)}'
2017|02|22|10|15
другое решение, используя gnu-awk
и FIELDWIDTHS
echo "201702221015" | awk 'BEGIN{FIELDWIDTHS = "4 2 2 2 2"; OFS="|"}$1=$1'
вы получите,
2017|02|22|10|15
- 1. формат timestamp dd/mm/yyyy hh: mm: ss to yyyy-mm-dd hh: mm: ss - MySQL
- 2. Преобразование java.sql.timestamp из yyyy-MM-dd hh: mm: ss to MM-dd-yyyy hh: mm: ss
- 3. Как преобразовать YYYY-DD-MM hh: mm: ss в YYYY-MM-DD hh: mm: ss?
- 4. excel преобразует строку формата «MM/DD/YYYY HH: MM: SS» в дату формата «MM/DD/YYYY HH: MM»
- 5. Как запросить формат даты YYYY-MM-dd HH-MM-ss?
- 6. "dd-MMM HH: mm" Versus "dd-MMM HH: MM"
- 7. Преобразование строки (dd/MM/yyyy hh: mm) в формат datetime
- 8. Формат dd/MM/yyy hh: mm: ss в datapicker C#
- 9. Преобразование yyyy-mm-dd hh: mm: ss.ms to yyyy-mm-dd hh: mm: ss using matlab
- 10. Изменить формат данных с yyyy/mm/dd - HH: MM: SS до mm/dd/yyyy - HH: MM: SS в JavaScript
- 11. Как конвертировать DD: HH: MM в HH: MM в Excel
- 12. Как преобразовать формат данных "YYYY-mm-dd hh: mm: ss" в "dd-mm-YYYY hh: mm: ss" используя javascript?
- 13. Преобразование dd/MM/yyyy HH: mm tt to MM/dd/yyyy HH: mm tt in C#
- 14. Преобразование dd/MM/yyyy hh: mm am/pm to MM/dd/yyyy hh: mm am/pm
- 15. Как преобразовать dd/mm/yyyy hh: mm: ss to dd-mm-yy hh: mm in excel?
- 16. Формат текущей даты: "yyyy-MM-dd HH: mm: ss"
- 17. CodeIgniter: формат mysql DATETIME поле dd/mm/yy hh: mm
- 18. Как изменить Формат параметра от DD/MM/YYY HH: MM; SS до DD/MM/YYYY
- 19. Формат даты по умолчанию Excel yyyy-mm-dd hh: mm: ss versy yyyy-mm-dd hh: mm
- 20. Perl Формат yyyy-mm-dd HH: mm: ss to yyyy-mm-dd в Excel
- 21. Как конвертировать секунд в «DD: HH: MM» Формат
- 22. Как преобразовать строку даты, рассчитанную CoreData в формат ISO YYYY-MM-DD HH: MM: SS +000?
- 23. Как преобразовать yyyy-mm-dd hh: mm: ss в слова?
- 24. Как конвертировать «20120111141311Z» в yyyy-mm-dd hh: mm: ss +/- hh: mm
- 25. Как конвертировать дату в DD/MM/YYYY/HH: MM: SS
- 26. Excel VBA: Преобразовать формат даты YYYY-MM-DD-HH.MM.SS.Milli для DD/MM/YYYY HH: MM: SS
- 27. Группа «MM-dd-yyyy hh-mm»
- 28. Как преобразовать dd-mm-yyyy HH: mm: ss to yyyy-MM-dd HH: mm: ss using JSP
- 29. Как сушить `DD: HH: MM: SS` время логика Формат
- 30. Конвертировать 'yyyy-mm-ddThh: mm-offset' формат в 'yyyy-mm-dd HH: mm' в moment.js
Возможный дубликат [разделение строки на массив с помощью awk] (http://stackoverflow.com/questions/8009664/split-string-to-array-using-awk) –