Как вытащить массовый текст из файла и вставить его в другой файл?

Одним из решений является использование X.Org. Вы можете выбрать в настройках экрана входа.

Ubuntu 17.10 использует диспетчер отображения Wayland по умолчанию вместо X.Org. Не все приложения поддерживают Wayland. Проблемы можно увидеть особенно с помощью программного обеспечения для совместного использования экрана / записи и т. Д.

0
задан 6 April 2018 в 06:57

6 ответов

Предположим, что в адресах электронной почты нет символов двоеточия. Для кучи файлов назовем их files*.txt:

cat files*.txt | sed -e 's/[^:]*://' > all-passwords.txt

Должно это сделать.

cat files*.txt - печатает все строки в STDOUT sed -e 's/[^:]*://' - заменяет все до первого ':' в строке «ничего» > all-passwords.txt - создайте / перезапишите файл с именем all-passwords.txt >> all-passwords.txt - если вы должны использовать [ f7], он будет создавать или добавлять к файлу, а не перезаписывать его.

Примечания:

cat files*.txt - печатает все строки в STDOUT
1
ответ дан 22 May 2018 в 11:35
  • 1
    Вам не нужен cat. sed ... files*.txt > ... будет работать нормально. – muru 6 April 2018 в 07:24
  • 2
    Спасибо, муру, я это понимаю. Я не собираюсь использовать оптимальное решение, а не то, что помогает объяснить, какие шаги в процессе работы. – dpb 6 April 2018 в 07:28
  • 3
    (из которых один шаг совершенно не нужен). – muru 6 April 2018 в 07:29
  • 4
    если он заменяет все до двоеточия, он изменит исходные файлы? – Evan Foulk 6 April 2018 в 07:30
  • 5
    @EvanFoulk не будет. Это просто изменение линий, которые были напечатаны и переданы в трубопровод. Исходные файлы остаются в такте. – dpb 6 April 2018 в 07:33

Предположим, что в адресах электронной почты нет символов двоеточия. Для кучи файлов назовем их files*.txt:

cat files*.txt | sed -e 's/[^:]*://' > all-passwords.txt

Должно это сделать.

cat files*.txt - печатает все строки в STDOUT sed -e 's/[^:]*://' - заменяет все до первого ':' в строке «ничего» > all-passwords.txt - создайте / перезапишите файл с именем all-passwords.txt >> all-passwords.txt - если вы должны использовать >>, он будет создавать или добавлять к файлу, а не перезаписывать его.

Примечания:

cat files*.txt - печатает все строки в STDOUT
1
ответ дан 17 July 2018 в 17:24

Предположим, что в адресах электронной почты нет символов двоеточия. Для кучи файлов назовем их files*.txt:

cat files*.txt | sed -e 's/[^:]*://' > all-passwords.txt

Должно это сделать.

cat files*.txt - печатает все строки в STDOUT sed -e 's/[^:]*://' - заменяет все до первого ':' в строке «ничего» > all-passwords.txt - создайте / перезапишите файл с именем all-passwords.txt >> all-passwords.txt - если вы должны использовать >>, он будет создавать или добавлять к файлу, а не перезаписывать его.

Примечания:

cat files*.txt - печатает все строки в STDOUT
1
ответ дан 23 July 2018 в 18:13

Вы можете использовать cut:

cut -d: -f2- file1 file2 > output
-d: сообщает cut, что поля разделены :, а -f2- сообщает cut выводить все поля из второй и далее.
2
ответ дан 22 May 2018 в 11:35
  • 1
    из-за ошибок в исходном файле это дало мне намного более чистый результат, если я положил -d ;: это также будет делать то же самое для разделительного пароля с запятой или я должен поставить -d; -d: – Evan Foulk 6 April 2018 в 07:47
  • 2
    @EvanFoulk cut поддерживает только один разделительный символ. Вам будет лучше sed, если несколько символов могут быть разделителями. – muru 6 April 2018 в 07:53
  • 3
    @EvanFoulk существует множество способов сделать что-то подобное, инструменты здесь всего несколько способов. Имейте в виду, что вы также можете перепрограммировать «all-passwords.txt», используя эти же инструменты. Кроме того, если вы поместите ';' в командной строке, убедитесь, что вы окружаете его одинарными кавычками. Это имеет особое значение, если оно не цитируется так. – dpb 6 April 2018 в 07:59

Вы можете использовать cut:

cut -d: -f2- file1 file2 > output -d: сообщает cut, что поля разделены :, а -f2- сообщает cut выводить все поля из второй и далее.
2
ответ дан 17 July 2018 в 17:24

Вы можете использовать cut:

cut -d: -f2- file1 file2 > output -d: сообщает cut, что поля разделены :, а -f2- сообщает cut выводить все поля из второй и далее.
2
ответ дан 23 July 2018 в 18:13
  • 1
    из-за ошибок в исходном файле это дало мне намного более чистый результат, если я положил -d ;: это также будет делать то же самое для разделительного пароля с запятой или я должен поставить -d; -d: – Evan Foulk 6 April 2018 в 07:47
  • 2
    @EvanFoulk cut поддерживает только один разделительный символ. Вам будет лучше sed, если несколько символов могут быть разделителями. – muru 6 April 2018 в 07:53
  • 3
    @EvanFoulk существует множество способов сделать что-то подобное, инструменты здесь всего несколько способов. Имейте в виду, что вы также можете перепрограммировать «all-passwords.txt», используя эти же инструменты. Кроме того, если вы поместите ';' в командной строке, убедитесь, что вы окружаете его одинарными кавычками. Это имеет особое значение, если оно не цитируется так. – dpb 6 April 2018 в 07:59

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

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