WedX - журнал о программировании и компьютерных науках

Объединить строку со строкой в ​​bash

Я использую скрипт bash для чтения из файла csv:

#!/bin/bash
b=".html"
declare -a files=()
while read line
do
   files+=("${line}${b}")
done < all_fr.csv
echo "${files[@]}" | tr ' ' '\n'

переменная $line содержит ID, и я хочу добавить .html к каждому идентификатору, я пробовал приведенный выше код, и он дает мне такой вывод:

.html77
.html92
.html98
.html00
.html97
.html27
.html31
.html39
.html44
.html45
.html60

Мои идентификаторы длинные, например: 43567.

когда я сохраняю в списке $line, вывод хороший, проблем нет, проблема возникает, когда я добавляю .html

PS: я пытался использовать переменную: a= $line.html, но у меня это не сработало

Изображение в моем CSV-файле из Windows: файл csv

10.06.2021

  • Ваш входной файл содержит \n окончания строки или \r\n? 10.06.2021
  • @WilliamPursell\n 10.06.2021
  • Что за картинка выше? Вы описываете его как A picture of my csv file from windows, что сильно заставляет меня подозревать, что у него нет окончаний строк unix. Показать вывод xxd all_fr.csv | head 10.06.2021
  • Насколько вы уверены? Похоже, что в вашем файле используется окончание строки \r\n, и вы сказали, что используете Windows (которая по умолчанию использует \r\n). Используйте dos2unix all_fr.csv для преобразования файла. 10.06.2021
  • @Socowi да, ты прав, я немного поискал, и это \r\n оправдания, насчет окон, чтобы показать файл, ничего больше 10.06.2021
  • @Williampursell Выход: 00000000: 3135 3434 370D 0A31 3534 3534 0A31 3534 3534 0D0A 3135 15447..15454..15 00000010: 3435 370D 0A31 3534 3631 0D0A 3135 3436 457..15461..1546 00000020: 320D 0A31 3534 3633 0D0A 3135 3437 300D 2 ..15463..15470. 00000030: 0A31 3534 3732 0d0a 3134 3732 0d0a 3135 3437 330d 0A31 .15472..15473..1 00000040: 3534 3734 0d0a 3135 3437 380D 0A31 3534 5474..15478..154 00000050: 3739 0D0A 3135 3438 300D 0A31 3534 3835 79..15480. .15485 00000060: 0d0a 3135 3439 320d 0a31 3534 3933 0d0a ..15492..15493.. 00000070: 3135 3439 340d 0a31 3534 3935 0d0a 3135 1535 1535 1535 15492..15493.. 10.06.2021
  • @Socowi да, это сработало, спасибо, чувак, не мог бы ты опубликовать свой ответ, чтобы я мог принять его !! 10.06.2021
  • Обратите внимание, что вам на самом деле не нужно dos2unix. Вы также можете просто добавить tr -d '\r' в свой канал. 10.06.2021

Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]