저는 거의 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
두 예제 모두 내용이 아닌 파일 확장자를 찾습니다 . 또한 이 조회는 재귀적이므로 폴더 내에서만 검색하도록 매개변수를 변경할 수 있습니다.