Весь сценарий завершается в зависимости от этих двух строк, чтобы удалить завершающие "A":
tritail=$(cat ../FASTA_SEC/$i.fa)
echo ${tritail/A/} > ../FASTA_SEC/"$i".fa
Поскольку вы уже помещаете все содержимое файла в переменную, вам не нужен цикл для удаления всех завершающих "A". Вы можете просто сделать:
tritail="$(cat ../FASTA_SEC/"$i".fa)"
shopt -s extglob
echo ${tritail#+(A)} > ../FASTA_SEC/"$i".fa
Или, если вам не нравится изменять настройку extglob:
tritail="$(cat ../FASTA_SEC/"$i".fa)"
echo "${tritail%"${tritail##*[!A]}"}" > ../FASTA_SEC/"$i".fa
Фактически, эти две команды - все, что вам нужно для удаления завершающих A.
Вторая строка работает, выбирая все завершающие A. Или, как это делает команда на самом деле, удаляя все, что не A ([! A]) в начальной части переменной:
tail=${tritail##*[!A]} # Select all the trailing A's
И затем результирующая строка удаляется из завершающая часть переменной:
result=${tritail%"$tail"} # Remove the trailing A's
Оба расширения параметров объединяются в одну команду:
result=${tritail%"${tritail##*[!A]}"}
И это то, что отправляется в (измененный) файл:
echo "${tritail%"${tritail##*[!A]}"}" > ../FASTA_SEC/"$i".fa
Чтобы удалить ведущие A, переключите все варианты выбора:
echo "${tritail#"${tritail%%[!A]*}"}" > ../FASTA_SEC/"$i".fa
Общим, но устаревшим способом в Debian является использование «виртуальных» сетевых устройств:
$sudo ifconfig eth0:0
дает мне:
eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)
Что является первым "виртуальным" устройством вашего первого реального (физического )устройства.
Теперь проверьте/etc/network/interfaces
(здесь, в Debian, в других дистрибутивах может быть иначе ).
С IPv4 все будет так:
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.240
gateway 192.168.1.1
iface eth0:0 inet static
address 192.168.1.3
netmask 255.255.255.240
gateway 192.168.1.1
Только начало. :-)Сейчас я мало что знаю об IPv6.
Для 2-го вопроса я попробовал это:
$ sudo ifconfig eth0:99999999999999999999999999999999999
eth0:9999999999: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 44:8a:5b:84:71:1d txqueuelen 1000 (Ethernet)
$
Значит, 9999999999 кажется пределом?