2015-12-08 3 views
-4

, пожалуйста, объясните строку ниже используется в сценариях оболочки,Использование AWK в Linux

awk -F\| -v src=$storekey 'src==$41' $SRC_Path >> $DST_Path 

Спасибо!

+0

Вам необходимо изучить базовый синтаксис AWK. http://www.tutorialspoint.com/awk/awk_basic_syntax.htm –

+0

Получите книгу «Эффективное программирование Awk», 4-е издание, автор Арнольд Роббинс. –

ответ

1

Ok первый ${variable} переменная оболочки, так что те будут определены выше в сценарии т.е.

storekey = «1234» или что-то

вы можете попробовать это на оболочке (Linux или командной строки терминала)

Тип:

$ storekey="foo" 
$ echo $storekey 

Так большая часть вашего вопроса, относящийся к переменным и командной строке, которая с onfuses, как они используются, если вы заменили переменные в командной строке для тестирования, вы могли бы протестировать ее, чтобы узнать, что они делают.

В сущности, Awk - средство анализа потока, поэтому, если у вас есть файл из 10 столбцов с известным разделителем, таким как «,» или «|», вы можете запросить awk для печати или вывода определенного столбца. Это то, что происходит ниже, но оно путается наличием пользовательских переменных оболочки.

тогда, чтобы сломать командную строку awk, разбор «|» (-F \ |), определяемый переменной $ storekey, беря столбец, где src == $ 41 (это имеет некоторую ссылку на вводимые данные), от $ SRC_PATH (каталога) до $ DST_PATH (другой каталог или путь) ,

Если бы вы могли поделиться более скриптом оболочки, я мог бы предоставить более подробный ответ.

Кстати, вы также можете узнать более подробную информацию, используя команды

  • man awk
  • info awk

из командной строки, однако это немного аркан для тех, кто не так хорошо знакомы с * nix вариантами.

+0

Означает ли это, что awk получает то, что находится в столбце 41? – smflores07

+0

да, $ 41 = столбец 41. однако он сопоставляется с src ==. Не уверен, что это поможет вам понять. –

+0

Благодарим вас за разъяснения. Я действительно пытаюсь понять, почему 41 - это число в этой строке. Это ответило на мой вопрос. – smflores07

Смежные вопросы