Если не возражаете против порядка вывода:
$ join <(sort file1) <(sort file2)
COG0001 1140.Synpcc7942_0645 H
COG0001 1148.SYNGTS_2220 H
COG0001 882.DVU3168 H
COG0002 883.DvMF_2502 E
Get ROOTFS_QTOPIA_QT4-20121108.TAR.GZ
из DVD-DVD
yaffs2utils на моей среде Dev.
sudo tar xvf rootfs_qtopia_qt4-20121108.tar.gz
sudo mkyaffs2 rootfs_qtopia_qt4 rootfs_qtopia_qt4.img
и скопировали на мою карту microSD и скорректировали мою SitearmaRM.ini
, чтобы взять этот файл вместо Flash-версии MLC2 NAND.
for f do exec <"$f"
: handle stdin
done
Неинтерактивная оболочка будет обрабатывать любое перенаправление из файла, которое не может быть прочитано, или что не существует при ассоциированном W / специальном встроенном в качестве фатальной ошибки и выхода сразу со значимым диагностическим сообщением. Написано в Стдерр. Таким образом, ваши параметры являются действительными, читаемые файлы и приведенное выше оператор не сделают ничего полезного, пока вы не замените : ...
Часть w / что-то полезное, или пользователь предоставил неверный параметр, и сценарий выходит на основе осмысленно. Отказ
Когда вы делаете ...
for var in ...; do : compound command list on "$var"; done
в в ...;
в ...; BIT - это необязательное оператор в синтаксисе, который позволяет заменить параметр, установленный для набора по умолчанию, который является вашим списком аргументов Отказ
Так что ...
for var do : compound command list on "$var"; done
... вероятно, что вы ищете здесь.
for f do exec <"$f"
: now do some stuff w/ stdin
done
... где оболочка будет итеречно назначать stdin и проверяют как читаемые файлы, любые аргументы предоставили ваш скрипт для всех команд, которые следуют следующему инструкции
, пока все параметры не будут исчерпаны, и для
LOOP IS сделано
. Если он не может сделать это, то он будет отформатировать и распечатать ваше сообщение об ошибке для вас в стандартной форме, к которой пользователь уже привыкнет.
first_file="$1"
test -f "$first_file" || exit 2
file_content="$(<"$first_file")"
echo "$file_content"
Вы можете сделать это:
#!/bin/bash
while read line ;
echo "$line"
#######
#######
########
done < "$1"
Описание: Каждая линия $ - это содержимое полной строки вашего файла.
usage : ./script.sh file.txt