2010-11-20 2 views
3

Как я могу присоединиться к результатам 2 ls? - Мне нужно это, потому что файлы находятся в двух разных каталогах, и мне нужно отсортировать их по-разному.Bash join ls output

В любом случае для вывода мне нужен обычный список с обоими результатами.

ответ

1

Это следует сделать это:

{ ls folder1 && ls folder2; } 

получил от этого:

Попробуйте этот пример:

{ ls /etc/fonts && ls /etc/init; }|while read i; do echo $i; done 

(надеюсь, что у вас есть эти папки - замените, если вы этого не сделаете).

+0

Почему '&&' и не ',' как команда разделителя? – Benoit

+1

Нет причин, просто привычка не запускать вторую команду, если первая не сработает. –

+0

@Benoit: Это очень хорошая привычка; в то время как в этом случае это не имеет большого значения, вполне возможно, что более поздняя команда может сделать некоторые очень странные неожиданные вещи после выхода первой команды. – Cascabel

4

Не нужно запускать ls дважды, просто введите несколько параметров файла в качестве аргументов.

ls /path/to/first_file_spec* /different_path/to/second_file_spec* 
+0

Что было бы, если бы вам нужно было использовать разные переключатели для каждого 'ls'? – Thevs

0

Возможно find полезнее здесь из-за этого «директории:» формат, который ls использует, когда он дал более одного каталога в качестве аргумента.

find /etc/dpkg/ /etc/apt -mindepth 1 -maxdepth 1 | sort 

Вы можете настроить вывод, если ваша находка поддерживает Printf, например

find /etc/dpkg/ /etc/apt -mindepth 1 -maxdepth 1 -printf "%f\n" | sort