유닉스를 사용하여 일련의 디렉토리 이름 중 마지막 부분을 제거하려고 합니다. 다음은 명명 구조의 예입니다.
s23987_11.09.16_hf_0001
s29485_03.04.07_hs_0005
s39854_01.01.01_an_0011
디렉터리 이름이 다음과 같도록 첫 번째 _ 이후의 모든 항목을 제거하려고 합니다.
s23987
s29485
s39854
답변1
POSIX 쉘 사용:
for d in *_*; do mv -- "$d" "${d%%_*}"; done
이것%%
통사론"가능한 한 많이 일치: 밑줄( _
) 다음에 *
변수 값 끝에 있는 항목( )"이 오는 것을 의미합니다.