Можно ли изменить привязки bspwm, чтобы они работали как привязки tmux?

Чтобы решить актуальную проблему за один шаг:

$ grep -o '201[1-4].[0-9]\+' file1.txt file2.txt file3.txt \
| datamash --sort -t: -g1 count 2 mean 2 

file1.txt:8:2012.8125
file2.txt:6:2013.08
file3.txt:7:2013.6371428571
  • grepполучает значения из файлов,
  • datamashподсчитывает элементы и вычисляет средние значения по файлам.

Теперь у вас есть одна строка на файл:filename:n:average

Легче, да?

Чтобы получить среднее значение по всем файлам, удалите группировку:

grep -o '201[1-4].[0-9]\+' file1.txt file2.txt file3.txt \
| datamash --sort -t: mean 2

2013.1638095238

Если вам нужен красивый -печатный табличный вывод, попробуйте что-то вроде этого:

$ cat mktable.sh
#!/bin/bash
myfiles="$@"

trap "rm ${myfiles//txt/txt.tempfile}" EXIT SIGTERM SIGINT

declare -A count

for f in $myfiles ; do
  # write the tempfile AND get the linecount simultaneously
    count[$f]="$(grep -o '201[1-4].[0-9]\+' "$f" | tee ${f}.tempfile | wc -l)"
  sed -i "1i $f" ${f}.tempfile        # write header
  sed -i "2i ---------" ${f}.tempfile # write header
done

( paste ${myfiles//txt/txt.tempfile} ;
 for item in $myfiles ; do echo -n '--------- '; done; echo
 for item in $myfiles ; do echo -n "n=${count[$item]} " ; done ; echo ;
 for item in $myfiles ; do echo -n '--------- '; done; echo
 )\
  | column -nt

echo "Average: $(grep -o '201[1-4].[0-9]\+' $myfiles | datamash -s -t: mean 2)"

$./mktable.sh file*.txt
file1.txt  file2.txt  file3.txt
---------  ---------  ---------
2012.69    2013.17    2013.54
2013.44    2012.6     2013.9
2012.64    2013.12    2013.66
2013.11    2012.76    2013.44
2012.6     2013.75    2013.89
2012.41    2013.08    2013.62
2012.41               2013.41
2013.2                
---------  ---------  ---------  
n=8        n=6        n=7        
---------  ---------  ---------  
Average: 2013.1638095238
0
16.11.2020, 02:46
2 ответа

https://github.com/rowantran/vim-bspwm-navigator

Используя этот подключаемый модуль и добавив пару изменений в файл init.vim, я смог добиться желаемых результатов

0
18.03.2021, 22:49

Я могу ответить только по поводу "другого" тайлового оконного менеджера.

i3 позволяет вам определять режимы, которые звучат так, как вы хотите:

# Press $mod+o followed by either f, t, Escape or Return to launch firefox,
# thunderbird or return to the default mode, respectively.
set $mode_launcher Launch: [f]irefox [t]hunderbird
bindsym $mod+o mode "$mode_launcher"

mode "$mode_launcher" {
    bindsym f exec firefox
    bindsym t exec thunderbird

    bindsym Escape mode "default"
    bindsym Return mode "default"
}

см.https://i3wm.org/docs/userguide.html#binding_modes

1
18.03.2021, 22:49

Теги

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