команда find не дает никакого вывода

Кто-нибудь знает, почему эта команда не дает мне никакого результата? все переменные правильны, но результата нет.

 найти .  -name "$ cdr_type * $ DAYZ * .unl *" |
   xargs zcat |
   awk -F "|"  '{if ( $ 14 == $ tdate && $ 22 == $ misdn) print $ 0}' |
   глава

Когда я повторяю команду, подобную этой

echo "find . -name $cdr_type*$DAYZ*.unl* | xargs zcat | awk -F | '{if($14==$tdate && $22==$misdn) print $0}'|head" 

вот мой вывод:

  найти .  -name mgr * 20160928 * .unl * |
   xargs zcat |
   awk -F |  '{if ( 4 == 20160928093911 && 2 == 2348094398953)}' |
   глава

Мое наблюдение – это показ $ 4 и $ 2 вместо $ 14 и $ 22

One Solution collect form web for “команда find не дает никакого вывода”

$14 при расширении оболочки в большинстве оболочек, подобных Bourne, совпадает с ${1}4 , и если $1 пуст или не задан, это дает 4 как ожидалось. Здесь вы хотите передать litteral $14 в awk чтобы awk рассматривал его как свое 14-е поле.

Обычно в одинарных кавычках переменная $1 не будет расширяться, но вы не сообщаете нам, как вы эхо от этой команды.

В любом случае, здесь, похоже, вы хотите:

 find . -name "$cdr_type*$DAYZ*.unl*" -exec zcat {} + | awk -F "|" -v tdate="$tdate" -v misdn="$misdn" ' $14 == tdate && $22 == misdn' | head 

Это пропускает содержимое переменных $tdate и $misdn shell как переменные awk .

  • имя сценария скрипта echo text name для циклизации нескольких текстов
  • grep переменная в выражении if
  • Bash: Объем переменных в цикле for с использованием тройника
  • Как передать переменную в sftp?
  • Невозможно назначить вывод вложенных команд переменной в bash
  • Отложить переменное расширение до подоболочки
  • Проверьте, содержит ли строка строку подстроки
  • Развертывание Jenkins не передается переменной java
  • Столкновение видимых переменных переменных
  • Bash: Назначение переменной не похоже на «stick»
  • Расширение «$ @» для пользовательских переменных
  • Interesting Posts

    Bash unsets * _PID переменная, прежде чем я могу ждать на coproc

    Сделать каталог немодифицированным или невосстанавливаемым, кроме как root

    Сценарий для «напоминания о разряде батареи»

    Использование команды sed преобразует только первый символ в определенную строку с прописными буквами

    Как получить копии файлов Linux по умолчанию

    Создание почтового ящика с использованием командной строки

    Как работает эта функция bash?

    Как я могу определить, является ли мой GPU узким местом?

    Hexdump файла – что означают эти цифры?

    Почему мои окна выделяются при первом открытии tmux?

    {exec} заставляет Conky остановиться

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

    Вывод, который будет сохранен в файле с именем, аналогичным входному файлу

    rsync на USB-накопитель, всегда передающий все данные

    Обычный пользователь для изменения файлов, принадлежащих другим пользователям

    Linux и Unix - лучшая ОС в мире.