
WindowsでDVDを書き込もうとしましたが、フルパス名の長さが255文字の制限を超えて失敗しました。
私たちのファイルはDebian Linux(Windows上のSambaを使用してアクセス)に保存されているので、長いパス名を見つけるために奇妙なWindowsアプリケーションを実行するのを避けるために、Linuxコマンドを使用してファイルを見つけることをお勧めします。
特定のフォルダの相対パスとファイル名のリストを各フォルダの長さに応じて降順に並べ替えて出力するには、どのコマンドを実行できますか?
出力は次のようになります。
92 ./site/testapidocs/wjhk/jupload2/policies/class-use/DefaultUploadPolicy_WithoutAlertBox.ht
83 ./site/testapidocs/wjhk/jupload2/upload/class-use/PacketConstructionThreadTest.html
76 ./site/apidocs/wjhk/jupload2/upload/helper/class-use/ProgressBarManager.html
52 ./site/xref/wjhk/jupload2/gui/JUploadFileFilter.html
31 ./site/samples.java/applet.jnlp
17 ./site/index.html
答え1
GNU find(LinuxまたはCygwinで)を使用すると、相対パスが255文字を超えるファイルを見つけることができます。
find -regextype posix-extended -regex '.{257,}'
(初期257アカウント./
。)
答え2
これを行う方法は2つあります。
find . | perl -pe 'print (length($_)-1)." ";' | sort -rn | less
find . | awk '{print length,$0}' | sort -rn | less
私の最初の試み(探す。 | perl -pe '長さソート' |)Perlを使用するコマンドで報告される文字数は1です。数に改行文字があると仮定するからです。上記の方法よりもきれいかもしれませんが、必要な結果が得られました。