Как получить доступ к содержанию файла, который используется в качестве аргумента при запущении скрипта удара?

Если не возражаете против порядка вывода:

$ join <(sort file1) <(sort file2)
COG0001 1140.Synpcc7942_0645 H
COG0001 1148.SYNGTS_2220 H
COG0001 882.DVU3168 H
COG0002 883.DvMF_2502 E
1
20.01.2015, 05:33
3 ответа
  • 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.

-121--244541-
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 сделано . Если он не может сделать это, то он будет отформатировать и распечатать ваше сообщение об ошибке для вас в стандартной форме, к которой пользователь уже привыкнет.

2
27.01.2020, 23:51
first_file="$1"
test -f "$first_file" || exit 2
file_content="$(<"$first_file")"
echo "$file_content"
0
27.01.2020, 23:51

Вы можете сделать это:

#!/bin/bash
while read line ;
    echo "$line"
    #######
    #######
    ########
done < "$1"

Описание: Каждая линия $ - это содержимое полной строки вашего файла.

usage : ./script.sh file.txt
-1
27.01.2020, 23:51

Теги

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