Если я правильно понимаю, вы просто хотите, чтобы оба имени хоста отвечали на порт 80. Apache позволяет вам это сделать, перенаправление не требуется. Он просто покажет разницу, проанализировав заголовок хоста HTTP.
Listen 80
<VirtualHost *:80>
DocumentRoot "/var/www/html/wp"
ServerName www.test.tk
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/html/pw"
ServerName www.exampl.com
</VirtualHost>
Если вы собираетесь дальше настраивать свои виртуальные хосты, также рекомендуется поместить их в отдельные файлы в /etc/apache2/sites-available
.
Попробуйте это,
(cat file.txt && awk -F '|' '{print $1"dup|"$2}' file.txt) > file.dup.txt
cat file.dup.txt
Nempar|EIJ87098.1
Ecanceri|ORD93056.1
Nempardup|EIJ87098.1
Ecanceridup|ORD93056.1
или с помощью sed:
(cat file.txt && sed 's/|/dup|/g' file.txt) > file.dup.txt
Вы можете использовать ed
для замены (глобально )некоторых заданных PATTERN
в file
на REPLACEMENT
, а затем добавить(W
)результат к исходному содержимомуfile
Дано
$ cat file
Nempar|EIJ87098.1
Ecanceri|ORD93056.1
, затем
$ ed -s file << 'EOF'
,s/|/dup|/
Wq
EOF
результат
$ cat file
Nempar|EIJ87098.1
Ecanceri|ORD93056.1
Nempardup|EIJ87098.1
Ecanceridup|ORD93056.1
Использование подстановки процессов иsed
Представьте, что вы изменили входной файл и добавили dup
в первый столбец:
$ sed 's/|/dup|/' file.txt
Nempardup|EIJ87098.1
Ecanceridup|ORD93056.1
Это заменяет первый |
на dup|
в каждой строке.
Вы можете cat
изменить этот файл с подстановкой процесса формы cat <(command)
.
$ cat <(sed 's/|/dup|/' file.txt)
Nempardup|EIJ87098.1
Ecanceridup|ORD93056.1
Очевидно, что это дает тот же результат, что и первая команда sed
.
И с исходным входным файлом cat
ed он производит
$ cat file.txt <(sed 's/|/dup|/' file.txt)
Nempar|EIJ87098.1
Ecanceri|ORD93056.1
Nempardup|EIJ87098.1
Ecanceridup|ORD93056.1
Вы можете перенаправить вывод как обычно в другой файл:
$ cat file.txt <(sed 's/|/dup|/' file.txt) > file.dup.txt