![터미널에 확장자 없이 파일 이름을 나열하시겠습니까?](https://rvso.com/image/1449096/%ED%84%B0%EB%AF%B8%EB%84%90%EC%97%90%20%ED%99%95%EC%9E%A5%EC%9E%90%20%EC%97%86%EC%9D%B4%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EB%82%98%EC%97%B4%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
나는 Mac을 사용하고 있습니다. 목록에 확장자가 포함되지 않은 폴더의 파일 목록을 가져와야 합니다. 왜냐하면 웹사이트 가져오기를 위해서는 제품 목록이 필요하고, 편리하게도 이미지 이름은 제품 이름과 동일하기 때문입니다. 그러나 내 목록에는 확장자가 없어야 합니다.
터미널을 사용하여 파일 이름 목록을 얻었고 이를 텍스트 파일에 복사할 수 있었습니다. 유일한 문제는 파일 이름에 확장명 ".jpg"가 포함되어 있다는 것입니다. 터미널에 있는 목록을 사용하여 이제 텍스트 파일을 살펴보고 각 파일 이름(천 개 이상)에서 확장자를 수동으로 삭제해야 합니다. 시간이 오래 걸릴 거예요. 더 쉬운 방법이 있나요? 터미널에서 확장자 없이 파일 이름 목록을 표시하여 목록에 복사하여 붙여넣을 수 있습니까? 아니면 이 파일에서 확장자를 제거한 다음 터미널에 나열하고 이름을 복사할 수 있습니까? 다른 방법이 있나요? 여기서 혼란스러워요. 저는 프로그래머가 아니며 단지 웹사이트 디자인을 하는 사람입니다.
누군가가 이것을 도울 수 있기를 바랍니다. 모두 감사합니다!
답변1
답변2
"in.txt" 파일에 파일 목록이 있는 경우 다음 스크립트를 실행하여 "out.txt"에서 확장자가 없는 파일 목록을 가져옵니다.
#!/bin/bash
while read fullfile; do
filename=$(basename "$fullfile")
filename="${filename%.*}"
echo $filename >> out.txt
done <in.txt
답변3
vi
(또는 )을 사용하시나요 vim
? 그렇다면 이미 텍스트 파일에 JPEG 파일 이름이 있으므로 가장 쉬운 방법은 vi
/를 사용하여 해당 파일을 편집 vim
하고 다음을 입력하는 것입니다.
:%s/\.jpg$//
즉, 파일의 모든 줄에서 .jpg
줄 끝에서 발생하는 항목을 찾아서 제거하고 아무것도 없는 것으로 바꿉니다. 로 끝나지 않는 줄이 있어도 .jpg
괜찮습니다. 무시됩니다(건너뛰기). 다음과 같이 한 줄에 여러 개의 제품 이름(파일 이름)이 있는 경우
hammer.jpg screwdriver.jpg wrench.jpg
그냥 빼고 $
추가 g
하고 말하세요
:%s/\.jpg//g
제거됩니다모두.jpg
줄 끝에 있지 않더라도 이 발생합니다 .