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

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

1
getfaclが先頭の/を絶対パス名から削除するのはなぜですか?
私はCentOS / Red Hat 6のACLについて学んでいる最中です。getfacl絶対パスを使用して実行すると、次のような出力が得られます。 getfacl:絶対パス名から先頭の「/」を削除する なぜこれが必要なのですか?-pまたは--absolute-namesスイッチを使用する必要があるのはどのような場合ですか? Wale SoyinkaとMichael Jangによる私の本は、これについてはあまり言及していません。manページには手掛かりがなく、この警告に直接対処しているサイトを見つけることができません。
10 linux  filenames  acl 

2
findコマンドからパイプされたファイル名を操作する
私はBashに比較的慣れていないため、表面上は非常に簡単に思える何かを実行しようとしています。ディレクトリ階層全体でfindを実行して、すべての* .wmaファイルを取得し、その出力をコマンドにパイプして、mp3に変換します。変換したファイルを.mp3として保存します。私の考えは、コマンドは次のようになるはずだと考えていました(オーディオ変換コマンドは省略し、代わりに説明のためにエコーを使用しています)。 $ find ./ -name '*.wma' -type f -print0 | xargs -0 -I f echo ${f%.*}.mp3 私が理解しているように、-print0引数を使用すると、スペースを含むファイル名を処理できます(これらの多くは、音楽ファイルであるので、これを行います)。次に、(xargsの結果として)findからの各ファイルパスがfにキャプチャされ、文字列の最後から部分文字列の一致/削除を使用すると、mp3で元のファイルパスをエコーする必要があることを期待していますwmaの代わりに拡張子。ただし、この結果の代わりに、次のように表示されます。 *.mp3 *.mp3 *.mp3 *.mp3 *.mp3 *.mp3 *.mp3 *.mp3 *.mp3 ... だから私の質問(特定の「ここで何が間違っているのか」を除いて)はこれです-パイプ操作の結果である値は、変数割り当ての結果である値とは異なる文字列操作操作で処理する必要があります?

2
ファイル名の特殊文字(\#033OA)
rsync中に非常に頑固なエラーが発生し、少し問題が発生しました。ファイル名に特殊文字が含まれているファイルが原因です。他にもありますが、ファイル名のエンコードを変換することで解決できます。しかし、この1つのファイルも見つかりません。 だからここにrsyncが言うことです: ../.\#033OA.tex.pyD0MB" failed: No such file or directory (2) 最初に気づくのは、文字コードを16進数または8進数にすることはできないため、グーグル検索してこれを見つけただけです。したがって、CURSOR UP文字であるかどうかは関係ありません。私はもう試した ls -la *`printf '\033OA'`* 無駄に。私はまた、そのディレクトリのlsの出力をod無駄にパイプしてみました。 他に何ができますか?それともとにかくどんなキャラクターを探していますか? ありがとう


7
ファイル名の長さでファイルを検索する
ファイル名の長さですべてのファイルを検索したい。 たとえば、私は、次のような長さ1のファイルを、検索したい場合はa.go、b.go。 置いた: grep '.\{1\}' file しかし、これは機能しません。ファイル名の長さでファイルを検索するには、どのコマンドを使用できますか?

2
ファイル名から接頭辞を削除する
次のようなファイルがたくさんあります。 04602635_b0294.DAT20120807164534 04602637_b0297.DAT20120807164713 04602638_b0296.DAT20120807164637 04602639_b0299.DAT20120807164819 04602640_b0298.DAT20120807164748 04602641_b0300.DAT20120807164849 04602650_b0301.DAT20120807164921 04602652_b0302.DAT20120807164956 プレフィックスを除外するには、名前を変更する必要があります。このように見える必要があります。 b0294.DAT20120807164534 b0297.DAT20120807164713 b0296.DAT20120807164637 b0299.DAT20120807164819 b0298.DAT20120807164748 b0300.DAT20120807164849 b0301.DAT20120807164921 b0302.DAT20120807164956 編集 Solarisを使用していることを忘れてしまいました。


2
名前に文字列がないファイルを削除する
名前に文字列 '999'( ''なし)が含まれていないファイルを削除したい。 私が試してみました: grep -vlr 999 . | xargs -0 rm -f -- find . -print0 | grep --null-data -v 999 | xargs -0 rm -- しかし、どれも機能しません。私はmacOS Sierraとbash:3.2.57を使用しています。
9 bash  osx  filenames  rm 

2
wgetによる実際の名前のファイルのダウンロード
を使用してWebサイトからHTTP経由でファイルをダウンロードしようとしていますwget。 私が使うとき: wget http://abc/geo/download/?acc=GSE48191&format=file というファイルのみが表示されindex.html?acc=GSE48191ます。 私が使うとき: wget http://abc/geo/download/?acc=GSE48191&format=file -o asd.rpm 私が取得するasd.rpmが、私は実際の名前でダウンロードしたい、と手動でダウンロードしたファイルの名前を変更したくありません。
9 filenames  wget 

2
プロセスの特定のパスを偽造することは可能ですか?
ルートではない(Androidエミュレーターでプレイする)複数のユーザーがいるLinuxサーバーでADBを実行しようとしています。adbデーモンはそのログをファイルに書き込みます/tmp/adb.logが、残念ながらADBにハードコードされているようで、この状況は変わりません。 そのため、adbは実行に失敗し、明らかなエラーが発生しますcannot open '/tmp/adb.log': Permission denied。このファイルは別のユーザーによって作成され、/tmpスティッキービットがオンになっています。adb nodaemon serverstdoutに書き込むようにしてadbを開始しても、エラーは発生しません(競合を回避するために、ポートを一意の値に設定します)。 私の質問は、ADBを別のファイルに書き込む方法はあります/tmp/adb.logか?より一般的には、一種のプロセス固有のシンボリックリンクを作成する方法はありますか?すべてのファイルアクセスをファイルにリダイレクトしたいの/tmp/adb.logですが~/tmp/adb.log。 繰り返しますが、私はそう、サーバー上のルートはないですchroot、mount -o rbindそしてchmod有効なオプションではありません。できればADBのソースを変更したくないのですが、他に解決策がなければきっと修正します。 PS特定のADBの場合、リダイレクトを実行adb nodaemon serverしnohupて出力をリダイレクトすることに頼ることができますが、一般的な質問は依然として関連しています。
9 linux  filenames  adb 

1
(なぜ)ls -Aを使用して隠しファイルを一覧表示するのは悪いことですか?
現在のディレクトリにある隠しファイルを含むすべてのファイルを一覧表示したい。親(..)および現在の(。)ディレクトリを含めたくありません。 私はこれを見つけました: 現在のディレクトリと親ディレクトリを除くすべての隠しファイルをグロブする方法 最後に、誰かls -Aが行く方法であると述べていますが、それは反対です。ただし、動作するようです。何が問題になっていls -Aますか?
9 ls  filenames 

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 しかし、それでもうまくいかないようです。インターネットでの検索はあまり喜びをもたらしていないようです。どんな考えでも大歓迎です。

3
BashでUnicodeファイル名を選択
OK; 私がBashにいて、フォルダにいくつかのファイルがあるとします。それらのいくつかはと名付けられfile☠☡☢☣.txt、☠☡☢☣クレイジーでタイプ不可のユニコード文字で始まります。それらの1つをどのように参照しますか?タブを押すとfile、にのみオートコンプリートされ、その後、クレイジーな文字を入力するよう求められます。「あなたが私に与えたリストの3番目のものを選択してください」とbashに伝える方法はありますか?

2
空の名前のファイルをどのように作成しますか?
方法はわかりませんが、ファイル名が空のファイルを作成しました。そこに空白があったのではないかと思います(最後に理由を説明します)。 chaouche@karabeela /mnt/ubuntu/storage $ ls total 352K drwx------ 3 chaouche chaouche 4.0K Feb 12 11:00 drwxr-xr-x 4 chaouche chaouche 4.0K Apr 14 23:13 AUDIO drwxr-xr-x 5 chaouche chaouche 4.0K Jul 20 22:25 BACKUPS -rw-r--r-- 1 chaouche chaouche 310K Jun 15 13:00 cv_yassine_chaouche_2012.pdf drwxr-xr-x 2 chaouche chaouche 4.0K Jun 10 22:16 …

2
どのようにすれば、すべてのファイルを同じファイル名プレフィックスを持つディレクトリに移動(またはコピー)できますか?
Bashの使用 たとえば、親ディレクトリにランダムに配置された一連のファイルがあるとします。~/src特定のサフィックスに一致するすべてのファイルを取得し、それらを~/distディレクトリに移動(またはコピー)したいとします。 この目的のために、すべてのファイル名に次の命名規則があると仮定します。 <filename_prefix>.<filename_suffix> これが特定のファイルをすべて取得filename_suffixしてdistフォルダーに配置する簡単な方法であることがわかりました。 mkdir ~/dst find source -name "*.xxx" -exec mv -i {} -t ~/dst \; ここでさらに一歩...この場合filename、findの出力を使用して、を使用しfilename_prefixて同じ名前のディレクトリを生成し、~/distそのプレフィックスを持つすべてのファイルを適切なディレクトリに移動(またはコピー)する方法を教えてください。 mkdir ~/dst find source -name "*.xrt,*.ini,*.moo" -exec mv -i {} -t ~/dst \; 基本的に、上記のコマンドを変更(または別のコマンドを使用)して、次のような構造を作成するにはどうすればよいですか。 (出力) ~/dist/people/people.xrt ~/dist/games/games.xrt ~/dist/games/games.moo ~/dist/games/games.ini ~/dist/monkeys/monkeys.ini ~/dist/monkeys/monkeys.xrt このようなディレクトリツリーから? (入力) ~/src/xrt/people.xrt ~/src/xrt/games.xrt ~/src/conf/games.ini ~/src/pack/monkeys.xrt ~/src/e344/games.moo ~/src/e344/monkeys.moo ~/src/en-us/monkeys.ini

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