solution.txt
확장명(예: -> ) 이 있는 파일 이름의 일부를 추출해야 합니다 sol.txt
.
답변1
매개변수 확장 사용:
$ file="solution.txt"
$ echo "${file:0:3}.${file##*.}"
sol.txt
답변2
sed와 Python을 사용하여 완료
echo "solution.txt" |sed "s/\(...\)\([a-z]\{5\}\)\(....\)/\1\3/g"
산출
sol.txt
파이썬 사용
a="solution.txt"
print a[0:3] + a[-4:]
산출
sol.txt
답변3
또 다른 접근 방식은 파일 이름을 해당 구성 요소로 분할하고 원하는 형식으로 재구성하는 것입니다.
#!/bin/sh
origname="$1"
# directory = everything from "origname" except the part after the last /
directory="${origname%/*}"
if [ "$origname" = "$directory" ]; then
# there was no directories in the original name at all
directory="."
fi
# to get the filename, remove everything up to the last /
filename="${origname##*/}"
# to get the extension, remove everything up to the last .
extension="${origname##*.}"
# take first 3 characters of original filename as a new name
newname="$(echo "$filename" | cut -c 1-3)"
# output the result
echo "${directory}/${newname}.${extension}"
이것은 더 길지만 사용 사례에 맞게 이해하고 수정하기가 더 쉽기를 바랍니다.