변수에 파일 디렉터리 할당

변수에 파일 디렉터리 할당

저는 거의 400개의 파일이 있는 디렉토리를 가지고 있고 제가 작성 중인 bash 스크립트의 단일 변수에 모든 .txt 파일을 할당하고 싶습니다. 하지만 어떻게 해야 할지 잘 모르겠습니다. 나는 해당 파일의 내용이 아니라 파일 이름 자체에만 관심이 있습니다.

답변1

이름을 원하면 배열에 할당하는 것이 좋습니다.

names=( *.txt )

컨텐츠를 원하시면

contents="$( cat *.txt )"

답변2

이런 일을 해보세요. 이 한 줄의 코드는 폴더 .txt의 모든 파일에 대한 배열을 생성합니다 /root/tmpdir.

[root@localhost ~]# export LIST=() ; for file in `find /root/tmpdir -name *.txt -exec readlink -e '{}' \;` ; do LIST+=($file) ; done
[root@localhost ~]# echo ${LIST[*]}
/root/tmpdir/newdir/file.txt /root/tmpdir/file.txt
[root@localhost ~]#

또는 다음으로 구분된 파일 이름을 포함하는 변수를 생성할 수 있습니다 ,.

[root@localhost ~]# export LIST; for file in `find /root/tmpdir -name *.txt -exec readlink -e '{}' \;` ; do LIST=$LIST$file, ; done
[root@localhost ~]# echo $LIST
/root/tmpdir/newdir/file.txt,/root/tmpdir/file.txt,

폴리스티렌

.txt두 예제 모두 내용이 아닌 파일 확장자를 찾습니다 . 또한 이 조회는 재귀적이므로 폴더 내에서만 검색하도록 매개변수를 변경할 수 있습니다.

관련 정보