У меня возникли проблемы с сценарием оболочки UNIX, в частности, с чтением файлов. Я хотел бы, чтобы конечный продукт был для сценария, чтобы взять текстовый файл в качестве аргумента командной строки, а затем извлечь определенные части для использования в различных операциях. Текстовый файл будет выглядеть так:Извлечение определенного текста из текстового файла в UNIX
ABC12345:John Smith:78
DEF12345:Jane Doe:80
GHI12345:Bob Johnson:91
и он будет продолжаться так же, как и с несколькими другими линиями. Теперь то, что я сделал до сих пор, чтобы извлечь номер после последнего двоеточие здесь, в этом фрагменте кода:
case $1 in
m)cat $2 | while read -r file; do
#gets the numbers from 0 to 100
current=grep [0-100]
Дело заявление только потому, что в конце концов, пользователь сможет запустить программу различными способами. Основная идея в сегменте кода состоит в том, чтобы взять 2-значное число в конце строки в текстовом файле и сохранить его в текущей переменной.
Остальные операции действительно вращаются вокруг этой идеи, однако я не совсем уверен, как извлечь имя посередине.
В любом случае, любая помощь будет замечательной! Просто имейте в виду, что я очень новичок в этом.
Вы должны взглянуть на awk или разрезать. Он позволяет распечатывать столбцы. Чтобы получить имя в середине, это может быть так же просто, как cut -d: -f2 – frankc
Возможный дубликат [Разделить строку на основе разделителя в bash?] (Http://stackoverflow.com/questions/918886/split-string -На-на-разделитель-в-Баш) –