Sri*_*mar 26 linux unix command-line ls
这是默认行为 ls
ls /net/nas/data/languages/pypm/sites/rex/free/2.6/*/pool/v/vi/virtual*1.4.4*pypm
/net/nas/data/languages/pypm/sites/rex/free/2.6/linux-x86/pool/v/vi/virtualenv-1.4.4_linux-x86_2.6_1.pypm
/net/nas/data/languages/pypm/sites/rex/free/2.6/linux-x86_64/pool/v/vi/virtualenv-1.4.4_linux-x86_64_2.6_1.pypm
/net/nas/data/languages/pypm/sites/rex/free/2.6/macosx/pool/v/vi/virtualenv-1.4.4_macosx_2.6_1.pypm
/net/nas/data/languages/pypm/sites/rex/free/2.6/win32-x86/pool/v/vi/virtualenv-1.4.4_win32-x86_2.6_1.pypm
Run Code Online (Sandbox Code Playgroud)
如何ls
仅打印基本名称?喜欢:
ls $OPTIONS /net/nas/data/languages/pypm/sites/rex/free/2.6/*/pool/v/vi/virtual*1.4.4*pypm
virtualenv-1.4.4_linux-x86_2.6_1.pypm
virtualenv-1.4.4_linux-x86_64_2.6_1.pypm
virtualenv-1.4.4_macosx_2.6_1.pypm
virtualenv-1.4.4_win32-x86_2.6_1.pypm
Run Code Online (Sandbox Code Playgroud)
注意:我更喜欢使用 shell globbing,find
因为 /net/nas/data/languages/pypm/sites/rex/free 包含大量文件和目录。
Ste*_*lly 23
虽然xargs -0
旨在用于由 \0 分隔的输入(如find -print0
),ls
但没有这样的选项来以这种方式分隔其输出。
然而,
ls -1 /path/glob | tr '\n' '\0' | xargs -0 -n 1 basename
Run Code Online (Sandbox Code Playgroud)
会在此过程中将换行符转换为空值。然后,这允许 xargs 处理带有空格的名称。
编辑:添加-n 1
到 xargs
小智 14
我用这个:
ls | tr '\n' '\n'
Run Code Online (Sandbox Code Playgroud)
它给出了一个列表,如:
file1.mp3
file2.mp3
file3.mp3
...
Run Code Online (Sandbox Code Playgroud)
小智 10
GNU 基本名称和FreeBSD 基本名称都接受一个-a
参数,允许您将多个路径传递给命令。这对于 shell 通配符非常有效。
basename -a /path/glob*
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
80690 次 |
最近记录: |