zshで複数の置換が可能ですか?

zshで複数の置換が可能ですか?

新しいマークダウンファイルを生成する関数があり、どのように単純化できるのか疑問に思います。

  today=$(date +"%F")
  title=$1:l
  clean_title=${title//[^a-zA-Z0-9]/-}
  filename="$today-$clean_title.markdown"

title / clean_titleを1つにまとめることができると思いましたが、そのようにしようとすると、誤った置換のコンソールエラーが発生します${1:l...${$1:l...可能ですか?

ベストアンサー1

これらの${...}ビットをネストしますが、将来の読者がコードを読み取ることができるかどうかを検討してください。

() { clean_title=${${1:l}//[^a-zA-Z0-9]/-}; printf "$clean_title" } " BLA "

また、A-Z以前に小文字を考慮すると、一致が意味をなさない可能性があります。

おすすめ記事