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

ファイル名は、特定のファイルシステムでファイルを一意に識別するために使用される名前です。

3
単一のコマンドでサブディレクトリ内のファイルを見つけてファイル名で並べ替える方法は?
を使用した通常の検索の結果find . ! -path "./build*" -name "*.txt": ./tool/001-sub.txt ./tool/000-main.txt ./zo/001-int.txt ./zo/id/002-and.txt ./as/002-mod.txt と並べ替えるとsort -n: ./as/002-mod.txt ./tool/000-main.txt ./tool/001-sub.txt ./zo/001-int.txt ./zo/id/002-and.txt ただし、望ましい出力は次のとおりです。 ./tool/000-main.txt ./zo/001-int.txt ./tool/001-sub.txt ./zo/id/002-and.txt ./as/002-mod.txt つまり、出力はファイル名のみに基づいてソートされますが、フォルダー情報は出力の一部として維持する必要があります。 編集:サブディレクトリ構造に複数のレベルが含まれる場合があるため、例をより複雑にします。
9 find  filenames  sort 

6
フォルダーと同じ名前のファイルを含むフォルダーのみを検索します
同じ名前(および拡張子.md)のマークダウンファイルを含むすべてのサブフォルダーを検索します。 例:次のサブフォルダーを検索したい: Apple/Banana/Orange #Apple/Banana/Orange/Orange.md exists Apple/Banana #Apple/Banana/Banana.md exists Apple/Banana/Papaya #Apple/Banana/Papaya/Papaya.md exists 注:ディレクトリには他のファイルまたはサブディレクトリが存在する場合があります。 助言がありますか? この問題の解決策は、次のコードを使用してテストできます。 #!/usr/bin/env bash # - goal: "Test" # - author: Nikhil Agarwal # - date: Wednesday, August 07, 2019 # - status: P T' (P: Prototyping, T: Tested) # - usage: ./Test.sh # - include: # 1. …

8
ファイルのパス名の配列をベース名でソートします
配列に保存されているファイルのパス名のリストがあるとします filearray=("dir1/0010.pdf" "dir2/0003.pdf" "dir3/0040.pdf" ) ファイル名のベース名に従って配列の要素を番号順に並べ替えたい sortedfilearray=("dir2/0003.pdf" "dir1/0010.pdf" "dir3/0040.pdf") どうやってやるの? 私はそれらのベースネーム部分のみをソートできます: basenames=() for file in "${filearray[@]}" do filename=${file##*/} basenames+=(${filename%.*}) done sortedbasenamearr=($(printf '%s\n' "${basenames[@]}" | sort -n)) 私は考えています キーがベース名で値がパス名である連想配列を作成するため、パス名へのアクセスは常にベース名を介して行われます。 ベース名のみの別の配列を作成sortし、ベース名配列に適用します。 ありがとう。
8 bash  filenames  sort  array 

6
空の文字列はいつ現在のディレクトリを示していますか?
次のようfindに、現在のディレクトリでいくつかのファイルを収集するために使用するスクリプト $ find . -name "*.h" ./foo.h 今、私はそれをプレフィックスfoo.hなしで単に出力したいと思い./ます。空の文字列""はシェルコマンドの現在のディレクトリを表すと思いました。しかし、これは与える: $ find "" -name "*.h" find: ftsopen: No such file or directory だから私は間違っていました。今私の質問は、いつ/どのように/どこで/ ..「空の文字列(?)」は、ファイル名またはパス名を期待するコマンドの現在のディレクトリを示していますか?きちんとした啓発的な説明はありますか? サイドの質問は、検索つべこべは、上記のラ・文字列操作なしで、簡単に解くことができるかどうかである${parameter#word}かcutまたはsed?
8 find  filenames 

3
上書きされたファイルの新しい名前を生成して上書きを防止しますか?
同じ名前の既存のファイルがある場合、ファイルに新しい名前を生成するにはどうすればよいですか?デスクトップ環境では、ファイル名の最後に番号を追加して新しい名前を生成しますが、これはコマンドラインからどのように実行できますか? BusyboxでAndroidオペレーティングシステムを使用しています。

4
空の名前のファイル
特定のディレクトリのファイルを表示するためのウィジェットを作成していて、ファイルの名前が空である場合をカバーする必要があるかどうか疑問に思いました。 テストは明白な結果を示さなかったので、誰かが明確な情報を持っているかどうか疑問に思っていました $ touch "" touch: cannot touch `': No such file or directory $ echo > "" bash: : No such file or directory
8 filenames 

5
ファイル名のドットをアンダースコアに置き換え、拡張子はそのままにします
ファイル名のドットを置き換えてアンダースコアに置き換えようとするbashスクリプトがありますが、拡張子はそのままにしておきます(私はCentos 6を使用しています)。以下の出力からわかるように、置換するドットがある場合でもスクリプトは機能しますが、ドットのみが拡張子である場合、スクリプトはファイルを無視するのではなく、ファイルの名前を変更しようとします。誰かがこれをよりよく処理する方法を指摘できますか?助けてくれてありがとう。 私の(欠陥のある)スクリプト: #!/bin/bash for THISFILE in * do filename=${THISFILE%\.*} extension=${THISFILE##*\.} newname=${filename//./_} echo "mv $THISFILE ${newname}.${extension}" #mv $THISFILE ${newname}.${extension} done 入力例: 1.3MN-Pin-Eurotunnel-Stw505.51.024-EGS-130x130.jpg Wear-Plates.jpg 出力: mv 1_3MN-Pin-Eurotunnel-Stw505_51_024-EGS1-130x130.jpg 1_3MN-Pin-Eurotunnel-Stw505_51_024-EGS1-130x130.jpg mv Wear-Plates_jpg.Wear-Plates_jpg Wear-Plates_jpg.Wear-Plates_jpg

2
ディレクトリへのシンボリックリンクの末尾のスラッシュ
UNIXライクなシステムでパス解決のプロセス(manページpath_resolutionを参照)をエミュレートしようとしています。 私のOSはLinuxで、GNU coreutils 8.7を使用しています。 解決における余分な末尾の「/」の意味を明確にするために、シェルで次のことを行いました。 mkdir this_is_dir ln -s this_is_dir this_is_link rm this_is_link this_is_linkはシンボリックリンクであるため、すべて正常で、削除しました。しかし、試みている間: mkdir this_is_dir ln -s this_is_dir this_is_link rm this_is_link/ 反響した rm: cannot remove 'this_is_link/': Is a directory さて、末尾の「/」はシンボリックリンクのフォローを引き起こしたと私は思いました。だから、私は別のコマンドを試しました:rmdir this_is_link/ そして面白い結果が出ました: rmdir: failed to remove 'this_is_link/': Not a directory 私が期待したものではありません。だから私は私の友人に彼のシステムで同じ結果が得られるかどうか確認するように頼んだ。彼は私よりも低いバージョンのcoreutilsを持っていました。結果は驚くべきものでしたrmrmdir 'this_is_link/'Not a directory。同じエラーが発生するかどうかは関係ありません。 そして、別の友人が彼のMac OSで試したところ、結果は次のようになります。rm=> 'Is a directory'、rmdir=>ディレクトリは正常に削除され、リンクは残りました。 …


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.