для оболочки gnome -, нужно просто отредактировать этот файл:/usr/share/X11/xkb/symbols/pc . а затем перезагрузиться.
Приведенный ниже скрипт bash вставит первые два столбца как есть, а следующие 2 столбца, разделенные на 4, в файл output.txt.
#!/bin/bash
file="/path/file.txt"
while IFS= read -r line
do
col1=$(echo "$line" | awk {'print $1'})
col2=$(echo "$line" | awk {'print $2'})
col3=$(echo "$line" | awk {'print($3/4)'})
col4=$(echo "$line" | awk {'print($4/4)'})
echo "$col1 $col2 $col3 $col4" >> output.txt
done < "$file"
Надеюсь, это то, чего вы хотели.
Вы можете выполнить эту задачу с помощью awk , который является стандартным инструментом bash для обработки текста, арифметических операций с файлами и т.п.
Я вижу, что входной файл изменился, поэтому давайте посмотрим printf
, см. здесь , как определить формат аргументов. Также NR<=5
для первых 5 строк,остаться нетронутым и быть напечатанным в виде заголовков
awk 'NR<=5 {print; next} {$3=$3/4; $4=$4/4}
{printf "%3s %8.3f %8.2f %8.2f\n", $1, $2, $3, $4}' file
Выход:
# MarkerIndex
# TiltAngle (degrees)
# PositionX (px)
# PositionY (px)
#
0 -62.450 381.66 301.25
0 -60.460 376.96 301.34
8 15.890 383.99 570.36
8 17.890 384.74 570.35
8 19.890 385.65 570.52
8 21.900 386.49 570.58
8 23.900 387.66 570.60
8 25.900 388.63 570.42
8 28.000 389.84 570.47
8 30.090 390.89 570.33
8 32.190 392.16 570.20
8 34.280 393.28 570.14