タグ付けされた質問 「basename」

3
shellcheckはbasenameを使用しないことを推奨しています:なぜですか?
shellcheckを試しています。 私はそのようなものを持っています basename "${OPENSSL}" そして、私は次の提案を受け取ります Use parameter expansion instead, such as ${var##*/}. 実用的な観点からは、違いは見当たりません $ export OPENSSL=/opt/local/bin/openssl $ basename ${OPENSSL} openssl $ echo ${OPENSSL##*/} openssl 以来basenameであるPOSIX仕様、私はそれがベストプラクティスであるべき理由はない理由を行います。ヒントはありますか?

4
dirnameおよびbasename vsパラメーター展開
ある形式を他の形式よりも優先する客観的な理由はありますか?パフォーマンス、信頼性、移植性? filename=/some/long/path/to/a_file parentdir_v1="${filename%/*}" parentdir_v2="$(dirname "$filename")" basename_v1="${filename##*/}" basename_v2="$(basename "$filename")" echo "$parentdir_v1" echo "$parentdir_v2" echo "$basename_v1" echo "$basename_v2" 生産物: /some/long/path/to /some/long/path/to a_file a_file (v1はシェルパラメーター展開を使用し、v2は外部バイナリーを使用します。)

6
basenameを使用して、ファイルに保持されているパスのリストを解析します
Mac OSXを実行していて、コマンドラインを使用して、同じ名前のファイルの数を見つけようとしています。 次のコマンドを使用しようとしました。 find ~ -type f -name "*" -print | basename | sort | uniq -d > duplicate_files 動かない!私が次のことをすると: find ~ -type f -name "*" -print > duplicate_files 次に、duplicate_filesにはすべてのファイルのパスが含まれています。だから私は問題があると思いますbasename-それは標準入力を受け付けません。それから私は以下を試しました: basename $(find ~ -type f -name "*" -print) > duplicate_files しかし、それでもうまくいかないようです。インターネットでの検索はあまり喜びをもたらしていないようです。どんな考えでも大歓迎です。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.