В командной строке Windows, dir /b > List.txt
печатает LineBreak список разделенных содержимого каталога в текстовом файле:Exact Bash эквивалент для CMD реж/б
Folder 1
Folder 2
Folder 3
File 1.txt
File 2.txt
File 3.txt
В bash
на Cygwin, делая ls > File.txt
производит следующее:
Folder 1Folder 2Folder 3File 1.txtFile 1.txtFile 2.txt
Bash, кажется, не по умолчанию к записям печать на их собственной линии, и ни ls -h
, ни ls -1
, кажется, никакой разницы в этом. Кроме того, видя -a
, меня беспокоит, какие результаты показываются - мне нужно позвонить -a
, чтобы увидеть все результаты, которые обычно показывались бы с помощью dir /b
в CMD
или просто чтобы увидеть те, которые я бы не видел в CMD
?
Как сделать точный эквивалент dir \b
в Bash?
В отличие от того, как 'dir' встроен в' cmd', команда 'ls' не встроена в' bash'. Это две разные команды. Также Cygwin не Linux. Наконец, я не могу воспроизвести проблему. 'ls> File.txt' перечисляет один файл в строке для меня под Cygwin. Так делает 'ls -1'. Я предполагаю, что ваша проблема заключается в том, что вы просматриваете вывод с помощью Notepad или какой-либо другой программы, которая не понимает окончание строк в стиле Unix (LF), которое использует Cygwin, и вместо этого ожидает окончания строки в стиле Windows (CF LF). –
Я просматриваю его с помощью Блокнота, так что это вероятная возможность. Есть ли опция для 'ls', которая может обойти это? – Hashim
@Hashim: запустите 'todos' или' unix2dos' в выходном файле. – choroba