在一个简单的例子中,假设我们有一些标准错误:
$ ls /fake/file
ls: /fake/file: No such file or directory
问题:是否可以从标准错误中解析出“/fake/file
”而无需先将其写入文件?例如:
$ ls /fake/file 2> tmp.file; sed 's/.* \(.*\):.*/\1/' tmp.file
/fake/file
答案 0 :(得分:1)
这样的东西?
ls /fake/file 2>&1 | awk -F: '{print $2}'
答案 1 :(得分:0)
无论哪种方式都应该获取文件名
ls /fake/file 2>&1 | awk -F: '{print $2}' | awk '{print $3}'
或
ls /fake/file 2>&1 | awk '{print $4}' | awk -F: '{print $1}'
或
ls /fake/file 2>&1 | sed 's/.* \(.*\):.*/\1/'