Как избежать пробелов в результатах поиска grep? (имена файлов)

Изman tmux:

     split-window [-bdfhvP] [-c start-directory] [-l size | -p percentage] [-t target-pane]
             [shell-command] [-F format]
                   (alias: splitw)
             Create a new pane by splitting target-pane: -h does a horizontal split and -v a
             vertical split; if neither is specified, -v is assumed.  The -l and -p options
             specify the size of the new pane in lines (for vertical split) or in cells (for
             horizontal split), or as a percentage, respectively.  The -b option causes the
             new pane to be created to the left of or above target-pane.  The -f option cre‐
             ates a new pane spanning the full window height (with -h) or full window width
             (with -v), instead of splitting the active pane.  All other options have the
             same meaning as for the new-window command.

Таким образом, включение следующих строк в ~/.tmux.confи их поиск приведет к желаемому поведению. Обратите внимание на опцию -b.

# pane splitting
bind -r v split-window -bh
bind -r b split-window -bv
0
16.07.2020, 12:53
1 ответ

Ребята из GNU действительно напортачили, когда дали grepопции для поиска файлов. Надеюсь, они не планируют предоставлять такую ​​же возможность для sed, awk, cat, tr, wc и любого другого инструмента UNIX, и, надеюсь, они не планируют предоставлять опции grep для других вещей, которые делают существующие инструменты, такие как сортировка файлов, заменять строки, переводить символы, подсчитывать символы и т. д. Существует отличный инструмент UNIX для поиска файлов, и у него довольно очевидное имя-find.

while IFS= read -rd '' file; do
    echo "$file"
done < <(find. -name '*.directory' -exec grep -lZ 'search-string' {} +)

Вышеупомянутое требует инструментов GNU (, которые вы уже используете ), для использования ввода/вывода с завершением NUL -. Если у вас нет новых строк в именах файлов, вы можете просто использовать стандартные инструменты.

1
18.03.2021, 23:19

Теги

Похожие вопросы