폴더 아래에 /home/files
다음 파일이 있습니다
VER_3all_servers_home\server383_232.35.35.341
VER_3all_servers_home\server323_232.35.35.342
VER_3all_servers_home\server313_232.35.35.343
VER_3all_servers_home\server303_232.35.35.344
VER_3all_servers_home\server381_232.35.35.345
VER_3all_servers_home\server380_232.35.35.346
3all_servers_home\
아래의 모든 파일에서 " " 단어를 제거하여 파일을 다시 편집하겠습니다./home/files
그래서 파일은 다음과 같습니다
VER_server383_232.35.35.341
VER_server323_232.35.35.342
VER_server313_232.35.35.343
VER_server303_232.35.35.344
VER_server381_232.35.35.345
VER_server380_232.35.35.346
이를 수행하는 방법에 대한 제안이 있습니까?
답변1
넌 할 수있어:
for f in /home/files/*3all_servers_home*; do
mv -- "$f" "${f//3all_servers_home\\}"
done
이 형식은 변수에서 ${var//glob}
모든 glob 항목을 제거합니다 .glob
var
또는 다음과 같은 경우 perl-rename
(Red Hat에서는 뭐라고 부르는지 기억나지 않습니다. rename
, prename
또는 중 하나일 것입니다 perl-rename
):
rename 's/3all_servers_home\\//' /home/files/*3all_servers_home*