С помощью простого цикла for:
for f in file*.seq; do printf ">%s\n" "$f"; cat -- "$f"; done >newfile
для
выполняется по всем файлам в каталоге, соответствующем файлу * .seq
. printf
указывает имя файла. cat
печатает содержимое этого файла. > newfile
перенаправить все в новый файл с именем newfile
. Или с awk
:
awk 'FNR==1{print ">"FILENAME}1' file*.seq
FNR = = 1
- текущий номер записи в файле
print ">" FILENAME
печать имени файла с ведущим >
1
во всех остальных случаях печать строки. eth0:0
— это не виртуальный интерфейс, это старый способ назначения нескольких IPv4-адресов одному интерфейсу (eth0
). Более современные инструменты, такие как ip addr
, не будут отображать eth0:0
, а просто перечислят все адреса.
Вы не можете создавать «виртуальные интерфейсы» с помощью ifconfig
.
Вы можете создавать все виды сетевых интерфейсов с помощью ip
, хотя я сомневаюсь, что какой-либо из них будет соответствовать вашему представлению о "виртуальном интерфейсе".
То, что вы хотите сделать, называется «прозрачный прокси».Существуют различные способы настройки такого прокси.
Если вы действительно хотите прослушивать трафик для определенного приложения (или набора приложений ), вместо этого я бы создал сетевое пространство имен (google ), подключите до основного сетевого пространства имен с виртуальной парой eth -, настройте основное сетевое пространство имен для маршрутизации или NAT.
В любом случае, это очень похоже на XY -Вопрос , и вы недостаточно хорошо описали свой X (, за исключением того, что это своего рода заместитель; но непонятно какой прокси для какого трафика и что именно он должен делать ), чтобы действительно давать хорошие рекомендации.