параметризировать операторы UNIX - PullRequest
0 голосов
/ 30 мая 2011

У меня есть куча операторов в UNIX, которые я хочу зациклить, чтобы использовать параметризованное значение для своих вычислений.

more /var/xacct_data/xxxx/log_flattener/xxxx/logfile_current | grep " F " //E,I,D
**xxxx = mpay,mmg,tvr**


/var/xacct_data/faff/faff1/log_flattener/faffsnp1/ logfile_current | grep " F "         //E , I, D also
/var/xacct_data/faff/faff1/log_flattener/faffdbt1 /logfile_current | grep " F "       //E , I, D also
/var/xacct_data/faff/faff1/log_flattener/fafftxn1 /logfile_current | grep " F "             //E , I, D also
/var/xacct_data/faff/faff2/log_flattener/faffdbt2/ logfile_current | grep " F "       //E , I, D also

Я хочу сохранить эти пути в файле.Чтение из файла в сценарии оболочки Unix.и запускайте команды unix по указанным выше путям, манипулируя указанными выше путями, подставляя некоторые значения в путь.

Например, в приведенном выше блоке кода в самом верхнем пути.Я хочу заменить хххх на три значения.мпай, ммг и твр.Как мне это сделать ??

Для каждого grep " F " Я хочу использовать E, I и D в качестве параметров для текущего пути.как мне это сделать ??

Ответы [ 2 ]

1 голос
/ 30 мая 2011

Левая часть трубы кажется усеченной, но для стороны grep, я думаю, вы ищете

   ... | grep " [FEID] "
0 голосов
/ 03 июня 2011

Это должно помочь вам начать. Я не буду писать весь сценарий для вас.

В bash, zsh, и т. Д. ...

for directory in mpay mmg tvr; do
    for char in F E I D; do
        echo "Looking for lines containing ${char} in ${directory} directory..."
        grep "${char}" /var/xacct_data/${directory}/log_flattener/${directory}/logfile_current
    done
done

Нет необходимости для more здесь. grep принимает имя файла в качестве ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...