Определить и удалить весь столбец только в том случае, если каждая строка в нем имеет значение $ VAR1 или $ VAR2

вам необходимо отредактировать /etc/conf.d/keymap файл

например:

  • Испанская клавиатура

    KEYMAP = "es"

  • Американская клавиатура

    KEYMAP = "us"

Изменить:

Вы можете настроить псевдоним для быстрого переключения с одной раскладки клавиатуры на другую. Вам необходимо отредактировать .bashrc или .bash_profile (находится в вашем домашнем каталоге) ~ / .bashrc aka $ HOME / .bashrc aka /home/$USER/.bashrc

alias kbd1="loadkeys /usr/lib/kbd/keytables/dvorak.map"
alias kbd2="loadkeys /usr/lib/kbd/keytables/us.map"

или

alias kbd1="sudo loadkeys qwerty"
alias kbd2="sudo loadkeys dvorak"

Я не настроил горячие клавиши так, как вы ищете. Но я могу дать вам ссылку. Проверьте эту страницу ==> Настройка горячих клавиш на консоли

Вы должны быть осторожны при настройке горячих клавиш, поскольку они не должны влиять на существующие клавиши, используемые другими драйверами, такими как tty. например: эти клавиши зарезервировано консолями

  • Ctrl + C : отменяет текущую запущенную команду
  • Ctrl + D : выходит из текущей сеанс
  • Ctrl + S : останавливает весь вывод на экран (XOFF)
  • Ctrl + W : удаляет последнее введенное слово
  • Ctrl + U : стирает всю строку.
  • Ctrl + Q : снова включает весь вывод, остановленный на экране (XON)
  • Ctrl + F : перемещает курсор на один символ вперед
  • Ctrl + P : вставить предыдущую строку (строки)
  • Ctrl + B : перемещает курсор на один символ назад
  • Ctrl + H : удалить один символ.Аналогично нажатию клавиши Backspace
  • Ctrl + Z : отменяет текущую операцию, перемещает каталог назад или берет текущую операцию и перемещает ее в фон
  • 0
    05.06.2019, 19:48
    3 ответа

    Пробовал с помощью метода, описанного ниже, и он тоже работал нормально

    VAR1="X"
    VAR2="N"
    
    Count_of_columns=`awk '{print NF}' filename| sort -nr| sed -n '$p'` 
    
    for((i=1;i<=$Count_of_columns;i++)); do awk -v i="$i" -v VAR1="$VAR1" -v VAR2="$VAR2" '$i == VAR1||$i == VAR2{$i="";print $0}' filename; done
    

    выход

    hajn 32 ahnnd namm  543 asfn F
    namd 90 jsnfu namm  098 asfn S
    5739 dw 32eff Sfff  asd 3123 1
    
    1
    28.01.2020, 02:22

    Проверьте это.

    $ cat data
    hajn 32 ahnnd namm X 543 asfn F
    namd 90 jsnfu namm X 098 asfn S
    5739 dw 32eff Sfff N asd 3123 1
    

    Использование awk с выражением if -и выражением or -||внутри, и если да, то исключить cloumn #5 и вывести остальные данные.

    $ awk '{ if ($5=="X" || $5=="N") { $5=""; print } }' < data
    hajn 32 ahnnd namm  543 asfn F
    namd 90 jsnfu namm  098 asfn S
    5739 dw 32eff Sfff  asd 3123 1
    
    2
    28.01.2020, 02:22

    Вам потребуется сохранить строки, поскольку решение об удалении любого столбца не может быть принято до тех пор, пока не будет проверена последняя строка.

    $ perl -lane '
        push @{$A[$.]}, @F;my $i;
        $h[$i++] ||= !/X/ && !/N/ for @F}{
        my @I2P = grep { $h[$_] } 0.. $#h;
        print join $", @{$A[$_]}[@I2P] for 1..  $#A;
    ' inp
    
    0
    28.01.2020, 02:22

    Теги

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