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

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

domain.txt

....
abc.com
...

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

...
127.0.0.1 abc.com
...

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

6
задан 14 June 2016 в 08:51

5 ответов

Можно достигнуть этого с sed следующим образом:

sed -i 's/^/127.0.0.1 /' /path/filename.txt

Лучший делают резервное копирование файла прежде, я прямо сейчас не уверен, необходимо ли выйти из пространства или нет. Для создания резервного копирования непосредственно при выполнении sed, можно использовать следующую строку:

sed -i_bak -e 's/^/127.0.0.1 /' /path/filename.txt
[еще 117] информация приблизительно sed Вы можете находить здесь .

6
ответ дан 14 June 2016 в 08:51

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

sed 's/^/127.0.0.1 /' domain.txt > new_domain.txt
7
ответ дан 14 June 2016 в 08:51

awk is a good option to this issue. Explaining in two examples:

# 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
ответ дан 14 June 2016 в 08:51

Ответ GUI с помощью GEdit

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

enter image description here

  1. Используя поиск и функцию замены, ищите \n и замените его \n127.0.0.1 затем щелчок Replace all кнопка как показано ниже:

enter image description here

  1. Это - Ваш результат:
    Правовая оговорка: необходимо будет вручную ввести замену текстом 127.0.0.1 в начале первой строки.

enter image description here

2
ответ дан 14 June 2016 в 08:51

Простой способ добавить прежде:

$ printf "127.0.0.1 %s\n" $(cat domain.txt)

с означает, что строка строки на файле

\n средства печатает содержание в новой строке

0
ответ дан 14 June 2016 в 08:51

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

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