나는 이런 것을 시도했다
tree -C | fzf --ansi | awk -F'|' '{print $NF}'
├── repo.git/
│ ├── folder/
│ │ ├── subfolder/
│ │ │ ├── output.0
│ │ │ └── traces.1
│ │ ├── subfolder/
│ │ │ └── fold/
│ │ │ └── subtree/
│ │ │ ├── .gitignore
│ │ │ ├── stamp-h1 item
│ │ │ └── stamp-h2
stamp-h1 item
즉, 파일 이름을 잡고 싶습니다 .
답변1
반드시 사용해야 한다면 큰따옴표를 사용하여 파일 이름을 인용 해야 tree
합니다 . 그래서tree -CQ
Q
나무출력은 다음과 같습니다:
└── "repo.git"
└── "folder"
├── "subfolder"
│ ├── "output.0"
│ └── "traces.1"
└── "subfolder2"
└── "fold"
└── "subtree"
├── "stamp-h1 item"
└── "stamp-h2"
파일 이름을 얻으려면 정규식을 적용하여 sed
이를 얻을 수 있습니다 " "
. 따라서 코드는 다음과 같습니다.
tree -CQ | fzf --ansi | sed 's/.*\"\(.*\)\"/\1/g'
위의 코드를 선택하면 repo.git
다음을 얻게 됩니다.
repo.git
"stamp-h1 항목"을 선택하면 다음을 얻게 됩니다.
stamp-h1 item
또는 그 사이의 값을 인쇄하려면 다음을 "
사용해야 합니다.
tree -CQ | fzf --ansi | sed 's/.*\"\(.*\)\"/"\1"/g'
#Example output:
"stamp-h1 item"