Multi processing / Multi threading in BASH

Вы не указали, какую операционную систему вы используете, но из вашего описания проблемы похоже, что вы используете одну из новых операционных систем, используйте Wayland в качестве графического протокола сеанса вместо X11 - например, Fedora.

В Wayland (по крайней мере, в GNOME) файлы профиля ( / etc / profile , ~ / .profile и другие) не загружаются как часть сеанса графического рабочего стола. - см. здесь псевдообъяснение этого поведения GNOME .

Обычно запуск файлов сценариев в сессиях Wayland не является предпочтительным / выполнимым (в зависимости от контекста). В настоящее время ведется работа по решению некоторых проблем, связанных с этим, включая загрузку дескрипторов статической среды из различных мест. См. обсуждение некоторых предложений на форуме Arch , но в целом это текущая проблема, над которой работают.

Насколько я могу судить, лучший способ решения этой проблемы - это действительно настроить вашу программу терминала так, чтобы она вызывала оболочку в качестве оболочки входа в систему (и почти все эмуляторы терминала сегодня имеют эту возможность, если не возможность вручную указать командная строка с правильными флагами). Существуют и другие обходные пути, описанные в Интернете и на этом сайте обмена стеками.

2
20.04.2016, 04:27
1 ответ

При необходимости измените -jXXX%:

PARALLEL=-j200%
export PARALLEL

arin() {
    #to get network id from arin.net
    i="$@"
    xidel http://whois.arin.net/rest/ip/$i -e "//table/tbody/tr[3]/td[2] " |
    sed 's/\/[0-9]\{1,2\}/\n/g'
}
export -f arin

iptrac() {
    # to get other information from ip-tracker.org
    j="$@"
    xidel http://www.ip-tracker.org/locator/ip-lookup.php?ip=$j -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[2]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[3]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[4]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[5]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[6]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[7]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[8]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[9]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[10]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[11]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[12]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[13]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[14]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[15]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[16]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[17]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[18]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[19]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[20]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[21]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[22]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[23]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[24]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[25]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[26]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[27]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[28]" -e "//table/tbody/tr[3]/td[2]/table/tbody/tr[29]"
}
export -f iptrac

egrep -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" test-data.csv | sort | uniq | 
parallel arin |
sort | uniq | egrep -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | 
parallel iptrac > abcd
1
27.01.2020, 22:20

Теги

Похожие вопросы