Как добавить текст перед строкой в ​​целом файле?

У меня есть список домена в текстовом файле, и мне нужно добавить 127.0.0.1 ip до строки в целом файле. Пример, как показано ниже:

domain.txt

....
abc.com
...

Я хочу создать файл HOSTS, например

...
127.0.0.1 abc.com
...

В текстовом файле у меня есть тысяча доменов запись.

1
задан 13 June 2016 в 22:51

4 ответа

Если вы хотите, чтобы оригинал был неповрежденным:

sed 's/^/127.0.0.1 /' domain.txt > new_domain.txt
7
ответ дан 23 May 2018 в 10:08

awk - хороший вариант для этой проблемы. Объяснение в двух примерах:

# Let's consider a file domain.txt with lines like this:
# <domain> <user> <user> ....
# Ex: domain.zzz.yy user01 user02

# Extracting the first field of each line
awk '{ print "127.0.0.1 " $1;}' domain.txt

# produces: 127.0.0.1 domain.zzz.yy
# filter only first field $1=domain.zzz.yy
# $1: first field, $2: second field, and so on

# Extracting the whole line
awk '{ print "127.0.0.1 " $0;}' domain.txt

# produce: 127.0.0.1 domain.zzz.yy user01 user02
# $0: whole line
3
ответ дан 23 May 2018 в 10:08
  • 1
    Ну, это зависит от предположения, что каждая строка содержит только одно слово " (т. е. он не содержит пробелов), что может быть истинным, если каждая строка является доменным именем (без комментариев). В противном случае ваш ответ сохраняет только первое «слово». на каждой строке и отбрасывает остаток. awk '{ print "127.0.0.1 " $0}' - более общий ответ. – G-Man 10 June 2016 в 21:01
  • 2
    Важное замечание @ G-Man, я собираюсь обновить ответ. – gwarah 10 June 2016 в 22:08

Ответ GUI с использованием GEdit

Откройте файл в Gedit. Предположим, я хочу добавить '127.0.0.1' в начало всех строк в этом текстовом файле.

Откройте файл в Gedit. Предположим, я хочу добавить '127.0.0.1' в начало всех строк в этом текстовом файле.

Это ваш result: Disclaimer: вам нужно будет вручную ввести замену текстом 127.0.0.1 в начале первой строки.

enter image description here

2
ответ дан 23 May 2018 в 10:08

Легкий способ добавления до:

$ printf "127.0.0.1 %s\n" $(cat domain.txt)
% s означает строку строки в файле \ n означает печать содержимого в новой строке
0
ответ дан 23 May 2018 в 10:08

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

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