【发布时间】:2016-06-02 19:32:15
【问题描述】:
假设我已经有了“ls -la”命令的输出,现在我只想解析出文件名。到目前为止,我已经找到了这个正则表达式,但是如何修改它以说明文件名本身存在空格?
示例“ls -la”输出:
-rw-r--r-- 1 admin staff 460340057 May 4 14:19 test_large_file.xml
我目前的正则表达式:
\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+(\S+)
【问题讨论】:
-
我认为这可能有效?但我可能会遗漏一些东西: \S+\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+(\S|\s|-|_| %20)+
-
在 bash 中解析
ls输出不是一个好主意 -
以
ls -a为起点试一试。可能没有必要选择 -l 格式来过滤掉它。 -
@ᴳᵁᴵᴰᴼ在通过 JSch 从 ls 命令获得结果后,我正在用 Java 解析输出......真的我正在尝试解决 JSch 库中的错误。
-
JSch 有一个错误(或功能),如果 ls 命令上有一个别名为 'ls -la' 之类的东西,则库无法从 ftp 服务器获取文件。跨度>