Используя оболочку bash в терминале Mac OS X, я хочу поместить внутри переменной все имена файлов в текущем каталоге с одним именем в строке (в основном, выход ls -1). Однако, если я:Как расширить ls -1 в переменную в терминале Mac OSX
var=$(ls -1)
echo $var
Variable «переменная» содержит содержит все имена файлов, но на одной строке, разделенных пробелами. Как я могу исправить это и получить то, что хочу. В целом, в чем причина такого поведения? Что происходит при расширении ls -1?
Я понимаю, что могу поместить то, что хочу в файл, выполнив следующее, но я бы предпочел получить тот же результат с переменной.
ls -1 > var
Заранее спасибо.
Но почему вы хотите это сделать ??? что вы собираетесь делать с этой переменной ??? –
Большое спасибо за объяснения! Хотя я упростил свой вопрос, используя 'ls', я действительно намерен использовать' stat'. Моя цель - написать скрипт, который будет - просмотреть все файлы в каталоге, отсортированном по дате создания - определить все подгруппы файлов, созданные менее чем за шесть секунд. - создать для каждой подгруппы подкаталог, названный в честь даты создания самый ранний файл (YYMMDD-HHMMSS) - переместите каждую подгруппу в ее подкаталог Поэтому мне нужна таблица с двумя столбцами: рождение файла как Unix-время (доступно в версии Mac OSX 'stat') и имя файла. – user3781201
Возможный дубликат [Как выполнить команду echo $ command без нарушения макета] (http://stackoverflow.com/questions/2684216/how-do-i-cho-command-without-breaking-the-layout) – tripleee