我需要更改给定文件夹中的所有文件名。如果有大写,则需要将其更改为 _lowercase,但第一个始终为小写。例子:
/folder/FileNameOneTwo.txt -> /folder/file_name_one_two.txt
无需保存文件名,只需打印到控制台即可。编码:
find $1 -type f -print | awk '
BEGIN {
FS = "/"; }
{
split($NF,nazwa,".");
}
{
if(nazwa[1] ~ /([[:upper:]])[[:alnum:]]*/ ){
gsub(/[A-Z]/,"_&");
sub(/_/,"");
print tolower($nazwa[1])
}
}
'