다른 줄에있는 파일 이름 목록을 얻는 방법


116

with와 같은 디렉토리의 모든 파일 목록을 가져 와서 ls각 파일 이름이 ls -l. 나는보고 ls --help해결책을 찾지 못했습니다. 나는 시도했다

ls -l | cut --fields=9 -d" "

그러나 ls열 사이에 고정 된 수의 공백을 사용하지 않습니다. 이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

답변:


259

ls -1

그것은 작은 것이 아니라 숫자 L입니다.


5
나는 문서에서 이것을 본다 : cross -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C 나는 그들이 어떻게 이들 중 일부를 생각해 냈는지 잘 모르겠습니다.
Alexander Taylor

23

ls -1. 도움말에서 :

-1 줄당 하나의 파일 나열

cygwin과 FreeBSD에서 작동하므로 GNU에 특화되어 있지는 않습니다.


Ubuntu에서도 작동합니다. 감사합니다
Yonatan 심슨


6

혹시:

ls | awk '{print $NF}'

참고 : 예 : "pears.jpg"로 바뀝니다 "사과와 pears.jpg"으로 공백이있는 파일 이름
oknate

4

ls | cat ... 또는 아마도 ls -1


4
고양이의 쓸모없는 사용을 피하십시오 :)
jhwist

3
cat이 경우 쓸모가 없습니다. lsOP가 요구하는대로 한 열의 출력을 형식화합니다 .
Felix Eve

3

sed 명령을 사용하여 단일 열 나열

ls -l | sed 's/\(^[^0-9].\*[0-9]\*:[0-9]\*\) \(.*\)/\2/'

ls -l전체 답변과 동일한 출력을 생성합니다. 확실하지 무슨 일이 sed... 여기에 추가하고있다
펠릭스 이브

3

이 시도:

$ ls | xargs -n num

여기 num당신이 목록에 원하는 열 번호입니다.


1

먼저 이것을 사용할 수 있습니다. 한 줄에 하나의 파일을 표시합니다.

ls -l | sed 's /(.*) (. *) $ / \ 2 /'

또는 그렇게 사용할 수 있습니다

찾기 . -maxdepth 1 | sed 's /.///'

두 가지 모두 동일합니다.


나는 오류 얻을sed: -e expression #1, char 16: invalid reference \2 on `s' command's RHS
펠릭스 이브


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.