有没有办法转换这样的事情:
MyDirectoryFileLine
至
my-directory-file-line
我发现了一些将所有字母都转换为大写或小写字母的方法,但不是那样。有任何想法吗?
您可以使用s/\([A-Z]\)/-\L\1/g查找大写字母并将其替换为破折号,然后将其转换为小写字母。但是,这在行的开头给您一个破折号,因此您需要另一个sed表达式来处理它。
s/\([A-Z]\)/-\L\1/g
这应该工作:
sed --expression 's/\([A-Z]\)/-\L\1/g' \ --expression 's/^-//' \ <<< "MyDirectoryFileLine"