심볼릭 링크의 대상을 읽고 대상을 1씩 증가시킵니다.

심볼릭 링크의 대상을 읽고 대상을 1씩 증가시킵니다.

내 폴더 구조는 다음과 같습니다

/some/folder/1
/some/folder/2
...

current폴더 중 하나에 대한 심볼릭 링크입니다. 가능합니까? 링크의 대상을 읽을 때 마지막 폴더의 이름을 늘리고 해당 번호로 폴더를 만듭니다. 예를 들어 /some/folder/2마지막 번호가 무엇인지 알 수 있도록 가리키는 링크를 읽고 2이 번호를 늘려 생성합니다. /some/folder/3새 파일을 저장할 새 파일 폴더 ?

링크 대상을 읽는 스크립트가 이미 있지만 경로의 마지막 부분(번호)을 가져와서 추가하는 방법을 모르겠습니다.

답변1

readlink심볼릭 링크의 대상을 가져오는 데 사용됩니다 .

target=$(readlink $1)

그런 다음 쉘의 기능을 사용하여 마지막 것 이전의 모든 것을 삭제하십시오 /.

id=${target##*/}

또는 마지막 것 이후의 모든 것을 제거하십시오 /.

base=${target%/*}

그런 다음 쉘의 기능을 사용하여 간단한 산술을 수행합니다.

newid=$((id+1))

마지막으로 서로 붙입니다.

newtarget=${base}/${newid}

또는 한 줄:

newtarget=${target%/*}/$((${target##*/}+1))

관련 정보