2016-08-26 3 views
0

пытается достичь чего-то в Linux Баш, а при отсутствии :(с использованием AWK внутри .sh Баш файл сценария

У меня есть эта команда, левая шкала я использую, чтобы получить хороший выход из CVS файла в каталоге. Я также использую AWK команду, чтобы избавиться от информации разрешений, которые мне не нужно

ls -lrth *.csv | awk '{print $5, $6, $7, $8, $9}' 

Но теперь я хочу, чтобы запустить эту внутреннюю часть .sh файл сценария. в сценарии, если я пишу что-то вроде этого, он работает

LIST=$(ls -lrth *.csv) 
echo $LIST 

, но если я добавлю awk к нему, это не так, я gessing из-за параметров.

LIST=$(ls -lrth *.csv | awk '{print $5, $6, $7, $8, $9}') 
echo $LIST 

Как правильно записать этот внутренний исполняемый файл sh?

+0

@usr - будучи не я имею в виду, не существует никаких сообщений об ошибках, но не выход либо ничего не перечисляется. – user3818264

+0

@anubhava - это сказано выше, я пытаюсь удалить информацию о разрешении файла из сгенерированной командой ls – user3818264

+0

a) Не разбирайте вывод ls, b) всегда указывайте свои переменные оболочки, c) экспортированные переменные - все имена верхнего регистра. d) Нет причин для того, что вы показали нам до сих пор, чтобы вести себя по-другому с/без awk, поэтому проблема кроется в некотором фрагменте кода, который вы нам пока не показали. –

ответ

0

Если вы хотите запустить внутри Баш скрипт вы можете удалить эхо:

#! /bin/bash 
# list_csv.sh 
ls -lrth *.csv | awk '{print $5, $6, $7, $8, $9}' 

Я хотел бы предложить, однако, можно использовать псевдоним вместо, так как вы просто пытаетесь заменить две команды с одним , Вы можете поместить его в файл .bash_aliases сохраняться между сеансами, или запустить его из консоли, чтобы использовать его для одной сессии:

alias lscsv="ls -lrth *.csv | awk '{print \$5, \$6, \$7, \$8, \$9}'"