확장자가없는 모든 파일 나열


11

확장자가없는 디렉토리의 모든 파일을 나열하고 싶습니다.

예를 들면 다음과 같습니다.

$ ls
a.txt    b      c.pdf     d     e.png
$ ls -someOption
b       d

대신 어떤 명령을 사용할 수 ls -someOption있습니까?


일반적으로 명령의 옵션을 알고 싶다면 터미널에 "man <command>"를 입력하여 해당 매뉴얼 페이지를 읽으십시오. man은 manual (도움말)의 약자입니다 (예 : man ls
aaditya1234

@AadityaBagga이 경우 설명서에 답이 없습니다.
wisbucky

이 시나리오에서는 .gitignore확장 을 고려 합니까?
Amit Naidu

답변:


14
shopt -s extglob ## enables extended globbing
ls !(*.*) ## matches every file except those containing a dot

이렇게하면 작업 디렉토리에있는 모든 디렉토리의 내용이 표시됩니다. 이것을 원하지 않으면 다음을 사용하십시오.

ls -d !(*.*)

당신은 넣을 수 있습니다 shopt -s extglob당신의 ~/.bashrc터미널을 열 때마다 활성화해야 할 수 있습니다. 기본 우분투 ~/.bashrc(13.04의 29 번째 줄)에 이미이 줄 을 사용하여 주석 처리를 해제 할 수 있습니다 (및 globstar).

참조 그렉의 위키 쉘의 다양한 대체 (globbing) 옵션에 대한 자세한 내용은. 이것은 ls명령이 아닌 bash 쉘의 특성 이므로 다른 명령과 함께 사용할 수 있습니다.

또는 사용할 수 있습니다

ls --ignore='*.*'

또는

ls -I '*.*'

... 내부 ls옵션이지만 extglob은 임의의 명령에 적용될 수 있으므로 내 의견으로는 더 유용합니다.


1
OP는 bash가 있다고 가정하지만 어떤 쉘을 언급하지 않았습니다. 그것이 ksh라면 extglob이 필요하지 않습니다. 기본적으로 :ls !(*.*)
runrig

1
@runrig 당신은 꽤 정확하지만 질문의 기본 특성을 감안할 때 OP가 기본 bash 쉘을 사용한다고 가정했습니다.
evilsoup

10

모두 ls | grep -v \\.ls | grep -v "\."작동합니다.

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