У меня есть список доменов в текстовом файле, и мне нужно добавить 127.0.0.1 ip перед строкой во всем файле. Пример, приведенный ниже:
domain.txt
....
abc.com
...
Я хочу создать файл HOSTS, например
...
127.0.0.1 abc.com
...
В текстовом файле у меня есть тысячи записей в домене.
Можно достигнуть этого с 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
Вы можете находить здесь .
Если Вы хотите, чтобы оригинал был неповрежден:
sed 's/^/127.0.0.1 /' domain.txt > new_domain.txt
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
\n
и замените его \n127.0.0.1
затем щелчок Replace all
кнопка как показано ниже: 127.0.0.1
в начале первой строки. Простой способ добавить прежде:
$ printf "127.0.0.1 %s\n" $(cat domain.txt)
с означает, что строка строки на файле
\n средства печатает содержание в новой строке