2017-12-06 11 views
0

폴더에 약 20 개의 파일이 있습니다. 처음 5 개의 확장자를 .txt에서 .html로 변경하고 싶습니다. 그래도 .txt 확장자를 가진 처음 5 개의 파일을 유지하고 싶습니다. 여기까지 내가 지금까지 가지고있는 것이있다. 그것은 당신이 당신이 필요로하는 것을 얻기 위해이 명령 파이프 할 수 있어야 떠들썩한 파티 스크립트이전 확장명을 그대로 유지하면서 다른 확장명을 가진 폴더의 처음 5 개 파일 이름을 어떻게 바꿀 수 있습니까?

cp 'ls | head -5 "files would go here I think" 

답변

2
files=(*.txt) 
for ((i=0; i<5; i++)); do 
    cp -v "${files[i]}" "${files[i]%.txt}.html" 
done 
0

입니다.

ls *.txt | head -5 | sed -e 's/.txt$//' | xargs -n1 -I% cp %.txt %.html