반응형
디렉토리에있는 파일의 경우 echo 파일 이름 만 (경로 없음)
for 루프로 디렉토리를 반복하는 경우 파일의 파일 이름 만 에코하려면 어떻게해야합니까?
for filename in /home/user/*
do
echo $filename
done;
파일 이름으로 전체 경로를 가져옵니다. 파일 이름 만 알고 싶습니다.
네이티브 bash
솔루션 을 원하는 경우
for file in /home/user/*; do
echo "${file##*/}"
done
위는 셸 고유의 매개 변수 확장 을 사용 하며 다음과 같은 외부 바이너리에 대한 호출이 필요하지 않습니다.basename
그러나 사용하는 것이 좋습니다. find
find /home/user -type f -printf "%f\n"
그냥 사용하십시오 basename
:
echo `basename "$filename"`
$ filename에 공백 등이 포함 된 경우 따옴표가 필요합니다.
사용 basename
:
echo $(basename /foo/bar/stuff)
또 다른 방법은 ls
디렉토리 내의 파일 목록을 읽을 때 사용 하여 원하는 것을 제공하는 것입니다. 즉 "파일 이름 만"입니다. 전체 파일 경로를 읽은 다음 for 루프 본문에서 "파일 이름"구성 요소를 추출하는 것과 반대입니다.
원본을 따르는 아래 예 :
for filename in $(ls /home/user/)
do
echo $filename
done;
파일과 동일한 디렉토리에서 스크립트를 실행하는 경우 다음과 같이됩니다.
for filename in $(ls)
do
echo $filename
done;
참고 URL : https://stackoverflow.com/questions/9011233/for-files-in-directory-only-echo-filename-no-path
반응형
'Programing' 카테고리의 다른 글
Rails 3.0에서 Arel은 정확히 무엇입니까? (0) | 2020.09.15 |
---|---|
SQL Server-데이터베이스 테이블의 복사본을 만들어 동일한 데이터베이스에 배치 하시겠습니까? (0) | 2020.09.15 |
Pandas Future 경고를 억제하는 방법은 무엇입니까? (0) | 2020.09.15 |
Mac에서 git 구성 파일을 찾는 방법 (0) | 2020.09.15 |
R 벡터의 모든 요소에서 마지막 n 문자를 제거하는 방법 (0) | 2020.09.15 |