Я очень новичок в сценариях оболочки и должен выполнять столько задач вокруг него. Я стараюсь учиться так быстро, но иногда скрипты оболочки делают задачу очень простой, и в других случаях она просто играет со мной. И сейчас я сталкиваюсь с подобной ситуацией. У меня есть команда, которая дает мне выход вроде этого.Как обрабатывать строку в использовании awk в сценарии оболочки
File Dependents
----------------------------------------------------------------------------
<File> is a requisite of <Dependents>
Path: /usr/lib/obj
Java 1.0.0.0 analysis 0.0.0.2
runtime 1.2.0.0
client 1.2.0.0
framework 6.1.9.100
sguide 1.9.10.0
sysmgt 6.1.9.100
dsm 6.1.9.200
Path: /etc/obj
Java 1.0.0.0 analysis 1.2.0.2
runtime 2.0.0.0
client3 6.1.9.0
sysmgt 6.1.9.0
dsm2 6.1.9.0
Теперь я хочу получить список зависимостей в массив для дальнейшей обработки. Это то, что я могу сделать, до сих пор:
<command> | cut -f1 | grep '[a-z]' | grep -v File | grep -v : | awk '{ print $1}'
выход:
Java<<< I want this to be analysis
runtime
client
framework
sguide
sysmgt
dsm
Java<<< want this to be analysis
runtime
client3
sysmgt
dsm2
Я должен захватить эти два списка в двух отдельных массивов.
Может кто-то, пожалуйста, помогите мне в достижении этого выхода элегантным способом. Я не хочу забивать этот код с помощью моего метода грубой силы, включающего множество условий и сравнений.
Вы будете лучше читать на awk-массивах и сохранить свою обработку в конечном скрипте awk (в вашем конвейере). Не зная, как будет выглядеть ваша окончательная обработка, сложно комментировать/помогать дальше. Удачи. – shellter