나는 다음과 같은 것을하고 싶다
$ tmp=name*
$ mv $tmp new_$tmp
$ ls new_*
$ new_name-with-stuff-i-dont-want-to-type name-with-stuff-i-dont-want-to-type
환경 변수 설정이 작동하는 것 같습니다.
$ $tmp
$ name-with-stuff-i-dont-want-to-type
하지만 내가 할 때는 아니야mv
$ mv $tmp new_$tmp
$ ls new_*
$ new_name*
질문: 타이핑 시간을 절약할 수 있는 영리하고 간단한 방법이 있습니까?
답변1
나는 항상 bash 확장을 좋아했습니다.
ls
name-with-stuff-i-dont-want-to-type
mv name-with-stuff-i-dont-want-to-type{,_old}
ls
name-with-stuff-i-dont-want-to-type_old
이는 다음과 같습니다.
mv name-with-stuff-i-dont-want-to-type name-with-stuff-i-dont-want-to-type_old
접두사:
ls
name-with-stuff-i-dont-want-to-type
mv {,new_}name-with-stuff-i-dont-want-to-type
ls
new_name-with-stuff-i-dont-want-to-type
파일 이름을 쉽게 바꾸려면 다음을 수행하십시오.
ls
fileFOOname
mv file{FOO,BAR}name
ls
fileBARname
답변2
의 경우 zsh
일반적으로 다음을 사용합니다 zmv
.
autoload zmv # in ~/.zshrc
zmv 'name*' 'tmp_$f'
답변3
여러 파일이 일치하는 name*
경우 $tmp
해당 이름을 모두 공백으로 구분하여 포함합니다. 대신, 이를 $tmp
배열로 취급하고 그 안의 각 요소에 대해 연산을 수행하십시오.
for file in $tmp; do
mv "$file" "new_$file"
done
공백이 포함된 이름이 여러 이름으로 분리되는 것을 방지하려면 큰따옴표를 사용하세요.