gpt4 book ai didi

linux - 如何从 lsof 获取文件名?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:32:32 24 4
gpt4 key购买 nike

我想使用 lsof 创建文件夹中打开文件的列表。我使用的是 macOS,但我知道这对 *nix 很常见。

ma​​n lsof 中,-Fn 选项似乎最接近我想要的,但我不能再进一步了。我急切地想切到文件名。所以这是我正在使用的命令:

$ lsof -Fn dir1 |剪切-c2-

期待

dir1/file1.txt

我得到了

32783
34
dir1/file1.txt
32785
3
dir1/.DS_Store

最佳答案

能否请您尝试以下(因为没有发布 sample ,所以只在我的测试箱中测试)。

lsof  | awk 'match($0,/\/([^ ])*|\/([^$])*/){print substr($0,RSTART,RLENGTH)}'


编辑:由于 OP 不需要在名称中包含带 DOT 的文件(我认为基本上是隐藏文件),因此可以尝试跟随。

lsof  | 
awk '
FNR>1 && match($0,/\/.*/){
val=substr($0,RSTART,RLENGTH)
if(val !~ /\/\./){
print val
}
val=""
}'

关于linux - 如何从 lsof 获取文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55572270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com