Вопрос или проблема
Следующее – это links -dump
, из которого я хочу извлечь таблицу со всеми столбцами во всех файлах… Я пытался использовать awk
, но не смог
* Главная
* Главная страница
* Континенты
* Африка
* Америка
* Азия
* Европа
* Океания/Австралия
* Страны
* Страны от А до Я
* Зависимые территории
* Страны по площади
* Население стран
* Флаги стран
* Мировые валюты
* Города
* Мегаполисы
* Известные города
* Столичные города Африки
* Столичные города Америки
* Столичные города Азии
* Столичные города Австралии
* Столичные города Европы
* Столичные города США
* Крупнейшие города США
* Достопримечательности
* Городские иконы
* Места силы
* Священные горы
* Языки
* Языки по странам
* Языковые коды
* Наиболее распространенные языки
* Карты
* Карты по стране
* Международные коды
* Коды стран
* Международные телефонные коды
* Коды валют
* Коды аэропортов
Логотип Nations Online
Один мир
Nations Online
Главная Земля Континенты Страны мира Коды стран Коды стран
Список
связанные: Список международных телефонных кодов
___ Список кодов стран
ISO Alpha-2, Alpha-3 и числовые коды стран
Код страны ISO - это международно
признанный код, который обозначает для каждой
страны и большинства зависимых территорий
сочетание из двух букв или трех букв, это как
акроним, который
обозначает страну.
Этот код используется, например, для
суффиксов из двух букв, таких как .us (Соединенные
Штаты), .fr (Франция) или .de (Германия) в
доменах верхнего уровня (для стран) в интернете. IFrame
Instagram
Трехбуквенный код также часто используется
на мероприятиях с международными участниками ____________________________
из различных стран, таких как спортивные [ Поиск ]
встречи или конкурсы песен, где вы можете
увидеть аббревиатуры, такие как CAN (для Канады),
DNK (для Дании), AUS (для Австралии).
Это список двухбуквенных кодов (ISO
alpha-2) и трехбуквенных кодов (ISO
alpha-3), а также числовой код, используемый
ООН M49 для стран,
зависимостей и других территорий.
(Зависимости выделены курсивом)
(Чтобы отсортировать данные, щелкните на соответствующем
заголовке столбца (чтобы отсортировать несколько
столбцов, удерживайте клавишу Shift, выбирая
столбцы для сортировки).
ISO Числовой
Название страны или области ISO "ALPHA-2 ISO ALPHA-3 Код
Код Код UN M49
Числовой код
Афганистан AF AFG 004
Аланды AX ALA 248
Албания AL ALB 008
Алжир DZ DZA 012
Американское Самоа AS ASM 016
Андорра AD AND 020
Ангола AO AGO 024
Ангилья AI AIA 660
Антарктида AQ ATA 010
Антигуа и Барбуда AG ATG 028
Аргентина AR ARG 032
Армения AM ARM 051
Аруба AW ABW 533
Австралия AU AUS 036
Австрия AT AUT 040
Азербайджан AZ AZE 031
Багамы BS BHS 044
Бахрейн BH BHR 048
Бангладеш BD BGD 050
Барбадос BB BRB 052
Беларусь BY BLR 112
Бельгия BE BEL 056
Белиз BZ BLZ 084
Бенин BJ BEN 204
Бермуды BM BMU 060
Бутан BT BTN 064
Боливия BO BOL 068
Босния и Герцеговина BA BIH 070
Ботсвана BW BWA 072
Остров Буве BV BVT 074
Бразилия BR BRA 076
Британские Виргинские Острова VG VGB 092
Британская территория океана IO IOT 086
Бруней Даруссалам BN BRN 096
Болгария BG BGR 100
Буркина-Фасо BF BFA 854
Бурунди BI BDI 108
Камбоджа KH KHM 116
Камерун CM CMR 120
Канада CA CAN 124
Кабо-Verde CV CPV 132
Острова Кайман KY CYM 136
Центральноафриканская Республика CF CAF 140
Чад TD TCD 148
Чили CL CHL 152
Китай CN CHN 156
Гонконг, Специальный HK HKG 344
административный район Китая
Макао, Специальный MO MAC 446
административный район Китая
Остров Рождества CX CXR 162
Острова Кокос (Килинг) CC CCK 166
Колумбия CO COL 170
Коморы KM COM 174
Конго (Браззавиль) CG COG 178
Конго, Демократическая Республика CD COD 180
острова
Острова Кука CK COK 184
Коста-Рика CR CRI 188
Кот-д'Ивуар CI CIV 384
Хорватия HR HRV 191
Куба CU CUB 192
Кипр CY CYP 196
Чехия CZ CZE 203
Дания DK DNK 208
Джибути DJ DJI 262
Доминика DM DMA 212
Доминиканская Республика DO DOM 214
Эквадор EC ECU 218
Египет EG EGY 818
Сальвадор SV SLV 222
Экваториальная Гвинея GQ GNQ 226
Эритрея ER ERI 232
Эстония EE EST 233
Эфиопия ET ETH 231
Фолклендские острова (Мальвины) FK FLK 238
Фарерские острова FO FRO 234
Фиджи FJ FJI 242
Финляндия FI FIN 246
Франция FR FRA 250
Французская Гвиана GF GUF 254
Французская Полинезия PF PYF 258
Французские Южные территории TF ATF 260
Габон GA GAB 266
Гамбия GM GMB 270
Грузия GE GEO 268
Германия DE DEU 276
Гана GH GHA 288
Гибралтар GI GIB 292
Греция GR GRC 300
Гренландия GL GRL 304
Гренада GD GRD 308
Гваделупа GP GLP 312
Гуам GU GUM 316
Гватемала GT GTM 320
Гернси GG GGY 831
Гвинея GN GIN 324
Гвинея-Бисау GW GNB 624
Гайана GY GUY 328
Гаити HT HTI 332
Острова Херда и Макаду HM HMD 334
Острова
Святой Престол (Ватикан) VA VAT 336
Гондурас HN HND 340
Венгрия HU HUN 348
Исландия IS ISL 352
Индия IN IND 356
Индонезия ID IDN 360
Иран, Исламская Республика IR IRN 364
Ирак IQ IRQ 368
Ирландия IE IRL 372
Остров Мэн IM IMN 833
Израиль IL ISR 376
Италия IT ITA 380
Ямайка JM JAM 388
Япония JP JPN 392
Джерси JE JEY 832
Иордания JO JOR 400
Казахстан KZ KAZ 398
Кения KE KEN 404
Кирибати KI KIR 296
Корея, Демократическая народная KP PRK 408
Республика
Корея, Республика KR KOR 410
Кувейт KW KWT 414
Кыргызстан KG KGZ 417
Лаос ПДР LA LAO 418
Латвия LV LVA 428
Ливан LB LBN 422
Лесото LS LSO 426
Либерия LR LBR 430
Ливия LY LBY 434
Лихтенштейн LI LIE 438
Литва LT LTU 440
Люксембург LU LUX 442
Македония, Республика MK MKD 807
Мадагаскар MG MDG 450
Малави MW MWI 454
Малайзия MY MYS 458
Мальдивы MV MDV 462
Мали ML MLI 466
Мальта MT MLT 470
Маршалловы Острова MH MHL 584
Мартиника MQ MTQ 474
Мавритания MR MRT 478
Маврикий MU MUS 480
Майотта YT MYT 175
Мексика MX MEX 484
Микронезия, Федеративные Штаты FM FSM 583
Молдова MD MDA 498
Монако MC MCO 492
Монголия MN MNG 496
Черногория ME MNE 499
Монтсеррат MS MSR 500
Марокко MA MAR 504
Мозамбик MZ MOZ 508
Мьянма MM MMR 104
Намибия NA NAM 516
Науру NR NRU 520
Непал NP NPL 524
Нидерланды NL NLD 528
Нидерландские Антилы AN ANT 530
Новая Каледония NC NCL 540
Новая Зеландия NZ NZL 554
Никарагуа NI NIC 558
Нигер NE NER 562
Нигерия NG NGA 566
Ниуэ NU NIU 570
Остров Норфолк NF NFK 574
Северные Марианские Острова MP MNP 580
Норвегия NO NOR 578
Оман OM OMN 512
Пакистан PK PAK 586
Палау PW PLW 585
Палестинская территория, PS PSE 275
оккупированная
Панама PA PAN 591
Папуа - Новая Гвинея PG PNG 598
Парагвай PY PRY 600
Перу PE PER 604
Филиппины PH PHL 608
Питкерн PN PCN 612
Польша PL POL 616
Португалия PT PRT 620
Пуэрто-Рико PR PRI 630
Катар QA QAT 634
Реюньон RE REU 638
Румыния RO ROU 642
Российская Федерация RU RUS 643
Руанда RW RWA 646
Сен-Бартельми BL BLM 652
Остров Святой Елены SH SHN 654
Сент-Китс и Невис KN KNA 659
Сент-Люсия LC LCA 662
Сен-Мартен (французская часть) MF MAF 663
Сен-Пьер и Микелон PM SPM 666
Сент-Винсент и Гренадины VC VCT 670
Самоа WS WSM 882
Сан-Марино SM SMR 674
Сан-Томе и Принсипе ST STP 678
Саудовская Аравия SA SAU 682
Сенегал SN SEN 686
Сербия RS SRB 688
Сейшелы SC SYC 690
Сьерра-Леоне SL SLE 694
Сингапур SG SGP 702
Словакия SK SVK 703
Словения SI SVN 705
Соломоновы Острова SB SLB 090
Сомали SO SOM 706
Южноафриканская Республика ZA ZAF 710
Южная Georgia и Южные GS SGS 239
Сандвичевы острова
Южный Судан SS SSD 728
Испания ES ESP 724
Шри-Ланка LK LKA 144
Судан SD SDN 736
Суринам * SR SUR 740
Свальбард и Ян-Майен SJ SJM 744
Свазиленд SZ SWZ 748
Швеция SE SWE 752
Швейцария CH CHE 756
Сирийская Арабская Республика (Сирия) SY SYR 760
Тайвань, Республика Китай TW TWN 158
Таджикистан TJ TJK 762
Танзания *, Объединенная Республика TZ TZA 834
Таиланд TH THA 764
Восточный Тимор TL TLS 626
Того TG TGO 768
Токелау TK TKL 772
Тонга TO TON 776
Тринидад и Тобаго TT TTO 780
Тунис TN TUN 788
Турция TR TUR 792
Туркменистан TM TKM 795
Острова Тёркс и Кайкос TC TCA 796
Тувалу TV TUV 798
Уганда UG UGA 800
Украина UA UKR 804
Объединенные Арабские Эмираты AE ARE 784
Соединенное Королевство GB GBR 826
Соединенные Штаты Америки US USA 840
Соединенные Штаты, мелкие UM UMI 581
удаленные острова
Уругвай UY URY 858
Узбекистан UZ UZB 860
Вануату VU VUT 548
Венесуэла (Боливарианская республика VE VEN 862
)
Вьетнам VN VNM 704
Виргинские острова, США VI VIR 850
Острова Уоллис и Футуна WF WLF 876
Западная Сахара EH ESH 732
Йемен YE YEM 887
Замбия ZM ZMB 894
Зимбабве ZW ZWE 716
[IMG]
Связанные страницы:
Телефонные коды стран Связанная информация для потребителей:
Коды аэропортов
Города мира
Один мир - Nations Online .:. давайте заботиться об этой планете
На самом деле, невозможно имитировать свободу --- или?
Проект Nations Online создан для улучшения межкультурного понимания и
глобальной осведомленности.
Больше сигнала - меньше ШУМА
Карта сайта | Информационные источники | Отказ от ответственности | Контакт:
[email protected] | Copyright \A9 1998-2016 :: nationsonline.org
вверх
Код, который я пробовал:
cat file | awk '{print $1,$2,$3}' > результат
но вывод не чистый, так как в первом столбце есть пробелы, из-за чего содержимое теряется в следующих столбцах
Используя ту же основную идею, что и в ответе @Zanna, вы можете написать небольшой скрипт awk
, который устанавливает переменную в 1, когда найдена первая строка таблицы, и возвращает к 0 для последней и печатает любые строки, прочитанные, пока флаг равен одному:
awk '/Country or/{a=1} a==1; /Zimbabwe/{a=0}' file
Скрипт выше устанавливает переменную a
в 1
, если текущая строка совпадает с Country or
(начало таблицы), и возвращает ее к 0
, если текущая строка совпадает с Zimbabwe
. Действие по умолчанию, когда awk
получает выражение, которое оценивается как истинное, – это напечатать строку. Поэтому a==1
само по себе вызывает печать каждой строки, прочитанной, пока a
равно 1
. Это происходит до проверки на Zimbabwe
, так что оно также может захватить последнюю строку.
Поскольку, похоже, вы просто хотите всю таблицу и ничего лишнего, вы можете просто найти первую и последнюю строки, которые вам нужны…
sed -n '/ISO Numeric/,/Zimbabwe/p' file
-n
ничего не печатать, пока мы не попросим об этом/start/,/end/
находить строки от начала до концаp
печатать эти строки
Ответ или решение
Для извлечения таблицы из дампа ссылок представленного вами, существует несколько методов, в том числе использование инструментов командной строки, таких как awk
и sed
. В данном ответе я подробно объясню, как это сделать эффективно, чтобы избежать проблем, связанных с пробелами и форматированием.
Этапы извлечения таблицы
1. Понимание структуры данных
Перед началом работы убедитесь, что вы понимаете пределы таблицы, которую нужно извлечь. В вашем случае начало таблицы определяет строка "ISO Numeric"
, а конец — строка "Zimbabwe"
. Это важная информация, так как нам нужно будет извлечь данные только между этими двумя строками.
2. Использование sed
для извлечения диапазона строк
Самый простой способ извлечения нужной таблицы — это использовать sed
. Этот инструмент позволяет выбрать диапазон строк между двумя шаблонами:
sed -n '/ISO Numeric/,/Zimbabwe/p' файл.txt
Объяснение команды:
-n
: Не выводить ничего до тех пор, пока не будет выполнена команда печати. Это позволяет избежать постороннего вывода./ISO Numeric/
: Начало диапазона. Когдаsed
находит эту строку, он начинает выводить данные.,/Zimbabwe/p
: Конец диапазона. Как толькоsed
находитZimbabwe
, он завершает вывод данных. Командаp
указывает на необходимость печати соответствующих строк.
Этот метод наиболее подходит, поскольку он гарантирует, что данные будут напечатаны в чистом виде, без лишних пробелов или отступов.
3. Использование awk
для более тонкой настройки
Если вам нужно будет дополнительно обрабатывать данные (например, удалять лишние пробелы или фильтровать столбцы), awk
может стать отличным выбором. Вот как можно использовать awk
для достижения подобного результата:
awk '/ISO Numeric/{a=1} a==1; /Zimbabwe/{a=0}' файл.txt
Объяснение:
/ISO Numeric/{a=1}
: Установить флагa
в 1, когда найдено начало таблицы.a==1
: Если флаг установлен (т.е., если мы находимся в диапазоне таблицы), напечатайте строку./Zimbabwe/{a=0}
: Когда найдено словоZimbabwe
, установите флагa
в 0, чтобы остановить вывод.
Если вы хотите вывести только определенные столбцы, вы можете модифицировать команду следующим образом:
awk '/ISO Numeric/{a=1} a==1; /Zimbabwe/{a=0} {print $1,$2,$3}' файл.txt
Этот код печатает только первые три столбца каждой строки таблицы.
Заключение
Извлечение таблицы из дампа ссылок может быть выполнено с помощью различных методов, однако использование sed
и awk
оказалось наиболее эффективным для данной задачи. Понимание структуры данных и применения команд помогает избежать проблем с пробелами и форматированием, гарантируя, что данные будут извлечены в чистом виде. Кроме того, владение такими инструментами значительно улучшает ваши навыки обработки текстовых данных.