.mkv
使用したい拡張子を持つファイルがありますdu -h
。一部のファイルwhitespace
の前に文字があります。
ranveer@ranveer:~$ ls *.mkv
Arrow.S01E02.720p.HDTV.X264-DIMENSION_(1) [SHYAMPAREEK.IN].mkv
mymediafirefreefreak.com_The.Mentalist.S05E04.480p.HDTV.X264-mRS.mkv
SHYAMPAREEK.IN-The.Vampire.Diaries.S04E02.720p.HDTV.X264-DIMENSION_(1).mkv
Supernatural.S08E03.720p.HDTV.X264-DIMENSION_(1)SHYAMPAREEK.IN].mkv
[WWW.SHYAMPAREEK.IN].Arrow S01E01 480p HDTV.mkv
[WWW.SHYAMPAREEK.IN].Castle.2009.S05E03.480p.HDTV.x264-mSD.mkv
ranveer@ranveer:~$
xargs
すべてのファイルに適用を使用しますdu -h
が、前に文字があるファイルの場合はエラーがwhitespace
発生します。No such file or directory
ranveer@ranveer:~$ ls *.mkv | xargs -I f du -h "f" | awk '{print $1}'
du: cannot access `[WWW.SHYAMPAREEK.IN].Arrow S01E01 480p HDTV.mkv': No such file or directory
du: cannot access `[WWW.SHYAMPAREEK.IN].Castle.2009.S05E03.480p.HDTV.x264-mSD.mkv': No such file or directory
186M
151M
185M
186M
ranveer@ranveer:~$
ただし、これらのファイルを個別に適用するとdu -h
正常に動作します。
ranveer@ranveer:~$ du -h " [WWW.SHYAMPAREEK.IN].Arrow S01E01 480p HDTV.mkv"
151M [WWW.SHYAMPAREEK.IN].Arrow S01E01 480p HDTV.mkv
ranveer@ranveer:~$
それではなぜxargs & du -h
。
ベストアンサー1
使用法がxargs
時々混乱することがあります。確実に使用するには、入力を切り離す必要があります\0
。
ls | tr \\n \\0 | xargs -0 stat
改行文字をsに変更するには\0
(最近持っている場合xargs
)
ls | xargs -d \\n stat