디렉토리에는 X.txt
, Y.txt
, Z.txt
파일이 있습니다. 이 파일 이름을 다음과 같은 파일로 옮기고 싶습니다.
Out_file.txt
X.txt
Y.txt
Z.txt
이를 달성하기 위한 유닉스 명령이 있습니까?
답변1
ls >> Out_file.txt
물론, 해당 폴더에 있을 때...
답변2
이것은 매우 간단한 단계입니다. "ls"의 출력을 파일로 리디렉션하기만 하면 됩니다.
ls -1 >> file.txt
답변3
이 문제를 해결하는 또 다른 옵션은 다음과 같습니다.
ls | tee Out_File.txt
답변4
find
나는 OP의 문제와 많은 유사한 목표에 대한 좋은 선택이라고 생각합니다.
재귀 및 관련 파일 사양은 다음과 같습니다."무료", 따라서 이 명령은 사용자의 현재 디렉터리나 그 아래에 있는 모든 파일 목록을 수집
find
하고 해당 목록을 다음으로 리디렉션합니다..txt
Out_file.txt
find -name \*.txt > Out_file.txt
출력은 한 줄에 하나의 파일 형식입니다
./filename.txt
.출력에 기본 파일 이름(디렉토리 지정 없음)만 필요한 경우
find
(최대버전)에는 다음과 같은 옵션이 내장되어 있습니다printf
.find -name \*.txt -printf "%f\n" > Out_file.txt
출력은 한 줄에 하나의 파일 형식입니다
filename.txt
.전체 재귀가 필요하지 않은 경우(또는"제한된 재귀"필수) 다음
maxdepth
옵션을 사용할 수 있습니다.find -maxdepth 1 -name \*.txt -printf "%f\n" > Out_file.txt
이 출력은 여기에 있는 다른 많은 답변과 동일한 형식이지만 반드시 알파벳 순서일 필요는 없습니다. 알파벳 순서가 필요한 경우
find
출력을 파이프할 수 있습니다sort
.find -maxdepth 1 -name \*.txt -printf "%f\n" | sort > Out_file.txt
X.txt Y.txt Z.txt
내가 가장 유용하다고 생각하는 버전은 다음과 같습니다.
find $(pwd) -name \*.mp3 > FullPlaylist.txt
다음과 결합할 수 있는 음악 파일(예: mp3 인코딩)의 전체 재생 목록을 만들 수 있습니다.
mpg321