findコマンドを使用して複数のファイルに対して結合を実行しようとしています。
スペースを含むファイル名が問題を引き起こすことは確実です。
次のコマンドは、スペースを含まないファイルに対して機能しますが、ファイル名にスペースが含まれていると失敗します。
find /media/primary/acronis_ntfs/flickr_01/. -type f -name '*.*' | xargs cat > /media/primary/acronis_ntfs/flickr_01.txt
私も別のコマンドを試しましたが、すべて同じ結果を得ました。
find /media/primary/acronis_ntfs/flickr_01/. -type f | xargs cat > /media/primary/acronis_ntfs/flickr_01.txt
フォルダに直接行って実行すると
cat * > flickr_01.txt
それは動作します - スペースとすべて。
私はUbuntu 16.10を実行しています。
どんな提案がありますか?
シンプルだと思ったことで髪が抜けました。
ベストアンサー1
ファイル名間の区切り文字として NUL を使用し、xargs に同じ内容を検索するように指示します。
find .... -print0 | xargs -0 ...