Как преобразовать полный файл в определенный формат?

Нет, вы не должны оставаться 11.04. Это поддержка End of Life с октября 2012 года. Если вам нужна какая-либо поддержка, вам необходимо обновить, по крайней мере, до 12.04 (которая будет поддерживаться еще три года).

Кроме того, даже более поздние версии Ubuntu по умолчанию включают Python 3.x с целью полностью удалить Python 2.x.

У вас три проблемы с запуском вашего кода под более новой версией Python 3.x, но, как правило, проблем не возникает. Вы также должны, как разработчик, быть готовым решать любые такие проблемы, независимо от того, какую версию Ubuntu вы используете. Любая библиотека, которую вы используете, или сам Python, может иметь ошибку, которая зависит от вашего кода, и если эта ошибка исправлена, может привести к тому, что ваша программа будет отличаться от того, как вы ожидали ее раньше.

1
задан 4 January 2017 в 16:13

2 ответа

Вы можете сделать это следующим образом:

tr '\n' ',' < file | sed 's#[^,]\+#"http://&"#g;s#,$#\n#'

Объяснение

tr '\n' ',' <file заменить новые строки запятыми в file | вывод трубы на s#[^,]\+#"http://&"#g заменить серия символов, исключая запятую с теми же символами, добавленными http:// и окруженными «кавычками» s#,$#\n#, удаляет последнюю запятую, заменяет ее новой строкой

Примечание: это не удастся, если URL-адреса имеют запятые, поэтому, если это возможно в вашем случае, используйте ответ тердона для надежных результатов

7
ответ дан 23 May 2018 в 02:45
  • 1
    Обмен tr и sed упростит чтение команды, а также не будет защищен URL-адресами, содержащими запятые: sed 's#.*#"http://&"#' file | tr '\n' ',' – Byte Commander 4 January 2017 в 21:30
  • 2
    @ByteCommander Я начал так, но я не хотел снова подключаться, чтобы удалить последнюю запятую. Кроме того, это решение такое же, как у тердонов, поэтому я застрял с моим сообщением, так как я думаю :) – Zanna 4 January 2017 в 21:55
  • 3
    О, ну, злая конечная запятая ... – Byte Commander 4 January 2017 в 22:02

Решение Awk

awk '{ printf("\"%s\",", $0) }' input.txt

PHP допускает завершение запятых в литералах массива, если я правильно помню.

5
ответ дан 23 May 2018 в 02:45

Другие вопросы по тегам:

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