내 Linux 명령과 그것이 생성하는 출력은 다음과 같습니다.
다음 출력을 제공하는 모든 파일을 나열하기 위해 ls -l을 제공했습니다.
dr-xr-xr-x 5 rsa guest 4096 Jul 3 11:23 tsmc_40g_mixsig_7z_0p9v_2p5v
drwxrwxr-x 2 rsa guest 4096 Jul 3 11:33 tsmc_40lp_mixsig_7z_1p1v_2p5v
위의 두 번째 줄에서 디렉토리는 이름이 시작되기 전에 공백을 만듭니다. linux 명령을 사용하여 디렉토리 이름 앞의 공백을 제거하는 방법은 무엇입니까?
답변1
작은따옴표로 묶
mv ' tsmc_40g_mixsig_7z_0p9v_2p5v' tsmc_40g_mixsig_7z_0p9v_2p5v
거나 백슬래시를 사용하여 공백을 이스케이프할 수 있습니다.
mv \ tsmc_40g_mixsig_7z_0p9v_2p5v tsmc_40g_mixsig_7z_0p9v_2p5v
많은 셸에서 탭 완성을 사용하여 더 쉽게 만들 수 있습니다.
mv ' <TAB>
많은 bash 또는 zsh 구성에서는 다음과 같이 됩니다. mv ' tsmc_40g_mixsig_7z_0p9v_2p5v'
하지만 구성에 따라 작동하지 않을 수도 있습니다. 공백, 작은따옴표, 다른 공백을 입력 mv
한 다음 Tab 키를 누르면 제안 사항이 표시되고 Tab 키를 다시 눌러 완료할 수 있습니다.
답변2
유틸리티가 이미 설치되어 있는 경우 rename
다음과 같이 선행 공백을 지울 수 있습니다.
rename -v '/\S/ and s/^\s+//' ./*
현재 디렉토리의 모든 파일에 대해 유틸리티를 실행하고 공백이 아닌 문자가 하나 이상 있는지 확인한 다음 선행 공백을 잘라냅니다.
이 -v
옵션은 mv-ed 중인 파일의 이름을 에코합니다.
답변3
나는 아래 것을 시도했고 그것은 나에게 효과적이었습니다.
mv \ tsmc_40lp_mixsig_7z_1p1v_2p5v tsmc_40lp_mixsig_7z_1p1v_2p5v