Имя вашего сервера определено как:
ServerName prst.app
поэтому определите в /etc/hosts
prst.app, а не www.prst.app
127.0.0.1 prst.app
Для доступа к www.prst.app создайте новый виртуальный хост и новую запись в/etc/hosts
Быстрый скрипт tcsh:
# arg2linesNOTINarg1.csh:
# tcsh
# LINES FROM ARG2 THAT ARE NOT IN ARG1
#
if ( $#argv < 2 ) then
echo ' set fileWITHavoidedLINES = $1 '
echo ' set fileTOsearch = $2 '
else
set fileWITHavoidedLINES = $1
set fileTOsearch = $2
endif
set genSRCHstr = 'awk '"'"'BEGIN { started=0; } \
{ if (started==0) printf("^%s$",$0); \
else printf("|^%s$",$0) ; started=1 } \
END { printf("\n") } '"'"' '"${fileWITHavoidedLINES}"' '
egrep -v `eval ${genSRCHstr}` $fileTOsearch
Это можно запустить с помощью:
tcsh arg2linesNOTINarg1.csh File2.txt File1.txt
Могут возникнуть проблемы с созданием строк поиска, если строки слишком длинные или содержат определенные символы, такие как пробелы или табуляции. Возможно, удастся изменить это, чтобы предотвратить эти проблемы, но это предложение — только начало.
Если они отсортированы, попробуйте:
comm -23 File1.txt File2.txt
Если они не отсортированы, но сортировать можно, попробуйте в bash:
comm -23 <(sort File1.txt) <(sort File2.txt)
Если вы не uniq
или sort -u
File1.txt, строки, которые встречаются в File1.txt чаще, чем в File2.txt, будут выводиться. Это может подходить или не подходить для вашего варианта использования.
Если один файл уже отсортирован, вы можете использовать простой конвейер в большинстве оболочек, например:
sort File1.txt | comm -23 - File2.txt
Упрощено благодаря @Jeff Schaller
Попробуйте:
fgrep -vx -f File2.txt File1.txt
Это :найти все строки в файле File1.txt, которые не соответствуют строке из файла File2.txt
Параметр -x, о котором я раньше не знал, приводит к тому, что для соответствия требуется полная строка.
Параметр -v говорит, что нужно показать те, которые не совпадают.
Параметр -f указывает, что строки в файле, которые следуют за ним, являются шаблонами.
Ок
awk 'NR==FNR{a[$1];next}!($1 in a){print $1}' file2.txt file1.txt
выход
A
B