Change blank spaces with underscores in Bash -
Change blank spaces with underscores in Bash -
i'd write script in bash that:
takes file input.
if file name has blank space changes underscore.
my first question is: can bash script take arguments input or input has provided 1 time script running means of read command? other question how utilize mv command perform point 2.
your script simply:
#!/bin/bash mv "$1" "$(sed 's/ \{1,\}/_/g' <<<"$1")" use script.sh file\ name. file file name renamed file_name.
as gniourf_gniourf has pointed out in comments (thanks), if using bash possible utilize built-in character substitution:
mv "$1" "${1// /_}" the behaviour of different, replace every individual space underscore, whereas approach using sed squashes groups of spaces single underscore. if enable extended globbing, can create version behave same 1 using sed:
shopt -s extglob mv "$1" "${1//+( )/_}" depending on whether looking replace space characters or kinds of white space (like tabs, newlines, etc.), may want utilize [[:space:]] rather in each of these examples.
bash
Comments
Post a Comment