can anyone here tell me how I can make a find
bash statement where I do a replace of Semicolons (;) in the filenames with blank? I have 200k files and some (about 2k) are with ; in filename which are not ok.
Asked
Active
Viewed 69 times
0

Jonathan Hall
- 75,165
- 16
- 143
- 189

Walter Schrabmair
- 1,251
- 2
- 13
- 26
-
1What have you tried? Include your current attempt. What problems are you facing? – Jonathan Hall Sep 21 '19 at 16:00
-
Well I do not know how I can make a rename with the new filename where the ; is replace by space. I can do make a `find . -type f -regextype egrep -regex '.+;.*'` – Walter Schrabmair Sep 21 '19 at 16:01
-
Are the files located in one directory or in several subdirectories? – Cyrus Sep 21 '19 at 16:03
-
several dirs, a whole big tree. – Walter Schrabmair Sep 21 '19 at 16:03
-
@Flimzy thanks a lot for your link - that helps great. I am still thinking about it but on a good way – Walter Schrabmair Sep 21 '19 at 16:08
-
I could do it: `find . -type f -regextype egrep -regex '.+;.*' -exec rename 's/;/ ' {} \; ` – Walter Schrabmair Sep 21 '19 at 16:18
-
Since this question was closed while I typed in my answer, I posted it under the duplicate post (https://stackoverflow.com/questions/1086502/rename-multiple-files-based-on-pattern-in-unix). I think it adds value there as well since I did not have success with the existing answers. – nielsen Sep 21 '19 at 16:44