내 파일의 이름을 myscript.js
에서 .myscript.js
으로 변경하고 싶습니다. 어떻게하면 bash로 할 수 있을까요? mv myscript.js \.*
같은 다른 옵션을 시도했지만 작동하지 않습니다. 나는 - mv myscript.js m*
과 같은 점이 아닌 기호를 추가하여 실험을 시도했지만, 이제는 내 파일이 어디에 있는지조차 알지 못합니다. (물론 사본이 있습니다.)첫 번째 기호 - 점을 추가하여 파일의 이름을 bash로 바꾸는 방법은 무엇입니까?
0
A
답변
3
너무 열심히 노력하고 있습니다.
rename 's/(.+\.js)/.$1/' *.js
또는 순수 BASH에서 루프를 위해 이것을 사용합니다 :
mv myscript.js .myscript.js
1
당신은 그들 앞에 점을 배치하여 모든 *.js
파일의 이름을 rename
유틸리티를 사용할 수 있습니다
for i in *.js; do mv "$i" ".$i"; done
2
중괄호 확장
mv {,.}myscript.js
1
mv
(또는 해당 내용은 cp
)의 대상으로 패턴을 사용하지 마십시오. 명령은 여러분이 원하거나 기대하는 것을하지 않을 것입니다. Bash는 명령을 실행할 때 과 같은 파일 이름을 사용하여 명령을 실행 한 후 명령이 실행될 때 패턴을 확장합니다. 따라서 .*
은 아무 것도 (파일이 존재하지 않으므로) 일치하지 않으며 m*
은 m
으로 시작하는 파일이나 폴더와 일치합니다. 오류가 발생하지 않았으므로 마지막 경기는 폴더 였을 가능성이 큽니다.
현재 명령의 이전 매개 변수에 액세스 할 수있는 방법이 없습니다. 당신이 너무 많이 입력 피하고 싶은 경우에, (그래서 당신은 mv myscript.js myscript.js
으로 끝낼) 모두 파일 이름 탭을 사용하고 Ctrl 키 + 왼쪽 및 Ctrl 키 + 마우스 오른쪽가 두 번째 인수의 시작 부분으로 빨리 이동하는 데 사용할 누락 된 코드 .
을 삽입하십시오.
parameters of the previous command에 액세스 할 수 있습니다. 그러나 이것은 BASH의 기능이 아닙니다. 이는 readline의 기능입니다.