Строка состояния tmux # (pwd) не перезагружается

Перебирайте имена файлов и используйте расширение параметра для преобразования:

for f in *.*.*.txt; do i="${f%.txt}"; echo mv -i -- "$f" "${i//./_}.txt"; done

Шаблон расширения параметра, $ {f //./_} заменяет все . с _ в имени файла ( $ f ).

Вышеупомянутое приведет к пробному запуску, чтобы позволить фактическое переименование, удалите echo :

for f in *.*.*.txt; do i="${f%.txt}"; mv -i -- "$f" "${i//./_}.txt"; done

Если вы хотите иметь дело с любым расширением, а не только с .txt ]:

for f in *.*.*.*; do pre="${f%.*}"; suf="${f##*.}"; \
                     echo mv -i -- "$f" "${pre//./_}.${suf}"; done

После проверки удалить echo для фактического действия:

for f in *.*.*.*; do pre="${f%.*}"; suf="${f##*.}"; \
                     mv -i -- "$f" "${pre//./_}.${suf}"; done

Общий, для произвольного количества точек, по крайней мере, одна:

for f in *.*; do pre="${f%.*}"; suf="${f##*.}"; \
                 mv -i -- "$f" "${pre//./_}.${suf}"; done
3
13.07.2017, 20:07
1 ответ

Рабочий ENV:

ОС

  • OS X 10.14.5

Клемма

Тмукс

  • tmux 2.9a

Пример состояния -правое поле

~/.tmux.configдля вызова внешнего скрипта bash в приведенном примере файл находится здесь:~/.tmux_path.sh

~/.tmux.config

set -g status-interval 1
set -g status-right-length 150
set -g status-right "#(~/.tmux_path.sh #{pane_current_path}) %Y-%m-%d %H:%M:%S"

Пример скрипта bash, который читает #{панель _текущий _путь )arg. basenameобрезает начальный путь и отображает только текущий. Это удобно при использовании в качестве идентификатора окна. ПРИМЕЧАНИЕ. :Здесь делается предположение, что $HOME = /home/userможет потребоваться корректировка -f-1,4-для соответствия желаемому результату.

~/.tmux _path.sh

#!/bin/sh
printf '\033%s\007' $(echo "$1" | awk '{print "~"$1}' | cut -d/ -f-1,4-)

Сделать скрипт исполняемым

chmod +x ~/.tmux_path.sh

Пример именования окон

  • Примечание :Используйте тот же ~/.tmux_path.shвыше

~/.tmux.conf

set -g status-interval 1
set -g window-status-current-format "[#[fg=white] #(~/.tmux_path.sh #{pane_current_path})]"
set -g window-status-format "#[fg=black] #(~/.tmux_path.sh #{pane_current_path})"
2
27.01.2020, 21:27

Теги

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