Поля извлечения Awk с несколькими разделителями [закрыто]

¡Vale, lo tengo! Así que había perdido el punto de entrada a mi sistema de archivos, pero conocía el sector donde terminaba la partición. Reduje la partición que hice antes a 36 GB porque originalmente era de 35 GB. Luego ejecuté ext2scan desde esta publicación para encontrar el superbloque. Luego hice una partición comenzando desde el sector que encontró ext2scan y terminando en el sector en el que sabía que tenía que terminar. Luego, dumpe2fs encontró el superbloque y mi sistema de archivos. Por último, inicié grub -resque y lo arreglé.

-3
25.07.2019, 13:12
3 ответа

Вы можете использовать match()с RSTART , RLENGTH и substr():

.
awk 'match($0,/==.*?.csv.gz/){print $3","substr($0, RSTART+2, RLENGTH-2)}' file 

Где

мы используем функцию match(), чтобы найти подстроку -, соответствующую шаблону /==.*?.csv.gz/. Для любых совпадающих строк мы получим RSTART и RLENGTH , чтобы определить местоположение и длину совпадающего текста, а затем используем substr($0, RSTART+2, RLENGTH-2)для получения текста(+2и -2. чтобы удалить начальный '==' из совпавшего текста ).

2
28.01.2020, 05:18

С одним авком:

awk '{
        printf "%s,", $3
        match($0, /Required [a-z]+\.csv\.gz/, a)
        print a[0]
    }' /tmp/file

С 2 командами:

awk '{printf "%s,", $3}' /tmp/file
grep -oP 'f.==\KRequired \w+.csv.gz' /tmp/file

Выход

13,Required file.csv.gz
0
28.01.2020, 05:18

Попробуйте это,

Вариант 1:

awk '{gsub(/f.==/, ""); print $3","$(NF-4)" "$(NF-3)}' file

13,Required file.csv.gz
  • gsubзаменит "f.==" на null.
  • печатать 3-е поля с начала и 4-е и 3-е поля с конца строки

Вариант 2:

echo "`awk '{ print $3}' file && awk -F '==' '{print $2}' file| awk '{print $1" "$2}'`" | tr '\n' ','
  • напечатать 3-й столбец с пробелом в качестве разделителя.
  • разобрать 2-й столбец с "==" в качестве разделителя и вывести из него 1-й и 2-й столбцы с пробелом в качестве разделителя.
  • транспонированная новая строка с запятой

Примечание Опция :2 предназначена только для одного линейного входа.

0
28.01.2020, 05:18

Теги

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