Я не думаю, что для этого действительно нужен сценарий оболочки, но если вы хотите (, например. если у вас нет join, grep и т. д. ), это только -встроенная необходима:
#you should not have spaces in start of file1.txt or file2.txt
search_first_col(){
while read -r col nextcol ; do
case $col in "$1")
echo "$col $nextcol" ;;
esac
done
}
while IFS= read -r lin ; do
search_first_col "$lin" </tmp/file1.txt
done </tmp/file2.txt
Чтобы добавить некоторую информацию о специальных возможностях к сказанному выше, вы можете увидеть проявление структуры каталогов справочных страниц, добавив номер раздела к своей команде при вызове справочной страницы.
Например, запуск man printf
в Linux вызывает справочную страницу Пользовательские команды для утилиты printf
в разделе 1 справочных страниц. В BSD man printf
вызывает аналогичную Руководство по основным командам BSD справочную страницу для printf
в разделе 1.
В качестве альтернативы, если вы запустите man 3 printf
в Linux, вы получите Руководство программиста для Linux справочную страницу для printf
семейства функций на языке программирования C в разделе 3 справочных страниц. В BSD man 3 printf
вызывает аналогичную Руководство по функциям библиотеки BSD справочную страницу для функций C printf
в разделе 3.
При запуске man foo
утилита man начинает поиск в разделе 1 и переходит к разделам с более высокими номерами, пока либо не найдет справочную страницу для foo
, либо не исчерпает поиск. Вы можете увидеть, в каком разделе находится справочная страница, взглянув на первую строку справочной страницы. В верхнем правом или левом углу вы увидите foo(N)
, где N
— номер раздела, соответствующий структуре каталогов справочных страниц.
В отличие от запуска man foo
и поиска по всем разделам до первого попадания, запуск man N bar
, где N
является целевым разделом, ограничит поиск только этим разделом.
И вообще:
Некоторые системы имеют внутренние подпрограммы ядра в разделе 9.
Вы также можете увидеть страницы 3pm, это модули Perl, и я только что обнаружил страницы 3am, которые, похоже, являются расширениями GNU awk! Весело.