Найти и заменить на awk

lsmod , показывающий отсутствие модулей, означает, что вы статически скомпилировали драйверы в ядро. Убедитесь, что вы включили поддержку загружаемых модулей при сборке ядра, и вы сможете без проблем загружать файлы из / lib / modules :

insmod /lib/modules/kernel/fs/nls/nls_iso8859-15.ko

Если вам нужно создать отдельный модуль ядра, вам потребуется to укажите ядро ​​, для которого вы его собираете:

 make -C /lib/modules/`uname -r`/build M=$PWD

0
26.03.2018, 14:24
2 ответа

Использованиеcsvkit:

$ csvformat -d '|' -D '|' file.csv
col1|col2|col3|col4|col5
test|test_f|21/03/2017|"|||||USER RIGHTa anything here"|123

Флаги -dи -Dопределяют разделитель, используемый при вводе и выводе соответственно.

2
28.01.2020, 02:23

С sed, предполагая, что у вас есть только 5 столбцов, а столбец, который должен быть заключен в кавычки, в вашем случае является столбцом 4:

sed -E 's/"//g; s/^(([^|]*\|){3})(.*)(\|[^|]*)$/\1"\3"\4/' infile

Это будет работать, даже если пользователь не вводил кавычки, если пользователь или каналы ввели какие-либо кавычки.

Вотawkрешение по запросу:

$ awk -F'|' '{ for (i=1; i<NF; i++){if (i>3)gsub("\"",""); 
  printf (i!=(NF-1))?$i"|"((i==3)?"\"":""):$i"\"|"}; print $NF}' infile

col1|col2|col3|"col4"|col5
test|test_f|21/03/2017|"|||||USER RIGHTa anything here"|123
1
28.01.2020, 02:23

Теги

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