확장자 없이 모든 파일 복사

확장자 없이 모든 파일 복사

아래와 같이 일부 파일을 확장자로 복사할 수 있습니다.

cp *.txt ../new/

그런데 확장자 없이 모든 파일을 복사하는 방법은 무엇입니까?

답변1

@ubaid-ashraf의 대답은 거의 그렇습니다. 확장자 없이 파일을 지정하는 방법은 다음 ksh과 같습니다.

cp -- !(*.*) /new/path/

파일 이름에 점이 있는 파일을 건너뜁니다.

에서 작동하게 하려면 ( ) 및 ( ) 의 옵션을 bash활성화해야 합니다 .extglobshopt -s extglobkshglobzshset -o kshglob

답변2

다음을 수행할 수 있습니다.

cp -- !(*.txt) /path/to/directory

위 코드는 .txt 확장자가 없는 모든 파일을 복사합니다. 파이프 문자를 통해 여러 확장명을 제공할 수도 있습니다.

예를 들어:

cp -- !(*.txt|*.c|*.py) /path/to/directory

답변3

find+grep을 사용하면 확장자가 없는 파일만 가져올 수 있습니다.

   find . -maxdepth 1 -type f | sed 's/^\.\///' | grep -v "\."

따라서 복사 명령은 다음과 같습니다.

   cp ` find . -maxdepth 1 -type f | sed 's/^\.\///' | grep -v "\." ` destination_folder

관련 정보