アクション用のシェルがありますが、その中でnull値を処理する必要があります。したがって、タスクから単語の一部を切り取り、ファイルを削除または名前を変更しますが、他のif要素は空でなければなりません。
たとえば、
「pear」という単語があり、この単語とファイル名 null を使用して両方を切り捨てました。
echo $fname | perl -p -e 's/:pear://g'
これで名前を "nullfile"に変更する必要があります。
ベストアンサー1
そしてzsh
:
newname=${${fname//:pear:}:-nullfile}
bash
またはを使用する場合は、次のksh93
2つの手順で行う必要があります。
newname=${fname//:pear:}
newname=${newname:-nullfile}
POSIXlyから文字列内のすべてのエントリを削除するには、次の手順を実行する必要があります。
newname=$(
printf '%s\n' "$fname" | sed 's/:pear://g'; echo .
)
newname=${newname%??}
newname=${newname:-nullfile}
これは次のように単純化できます。
newname=$(
printf '%s\n' "$fname" | sed 's/:pear://g'
)
newname=${newname:-nullfile}
保証できれば$fname
改行文字で終わらないでしょう。