Дата командной вывод Linux

Я знаю, что оригинал сообщения просил о sed или awk, но если вы хотите удалить "и; только из пятого столбца я бы использовал regex и php. Возможно, есть способ сделать это в AWK, но я люблю использовать самые простые инструменты.

<?php

foreach(file($argv[1]) as $line){

    $matches = array();
    preg_match('/^(\w+)\s+(\d+)\s+(\d+)\s+(\-|\+)\s+"(\w+.\d)"\;/',$line,$matches);
    $matched_line = array_shift($matches); // remove the first element
    vprintf("%s\t%s\t%s\t%s\t%s\n",$matches);
}

это будет выводить

$ php /tmp/preg_replace.php /tmp/data
chr1    134901  139379  -   ENSG00000237683.5
chr1    860260  879955  +   ENSG00000187634.6
chr1    861264  866445  -   ENSG00000268179.1
chr1    879584  894689  -   ENSG00000188976.6
chr1    895967  901095  +   ENSG00000187961.9
-121--57795-

Вы должны будете использовать эхо , чтобы передать $ i в неловкое состояние. В противном случае он ищет файл.

A=$(echo $i | awk -F_ '{print $1}')

Совпадает с B

-121--160820-

Я подтверждаю, что это проблема в fstab. Если вы зайдете внутрь fstab и удалите последнюю строку, которую вы сделали, как раньше, и система запустится. У меня проблема с автоматическим доступом в VirtureBox 5/debian 8. Нет проблем в Virtualbox 4/debian 7

2
18.10.2018, 13:22
1 ответ

Таким образом, вы получаете вывод в формате США (, когда для LC _ALL установлено значение по умолчанию ), или вы получаете его в английском варианте.

Обратите внимание, что странный порядок в формате даты, используемый жителями США, используется также в очень немногих других странах... и определенно не в Англии

Поэтому, если вам нужен одинаковый вывод в обеих системах, установите одинаковую локаль в обеих системах или используйте явный формат даты:

date '+%a %b %e %T %Z %Y'

В этом примере используется формат даты, который используется по умолчанию для локали C.

2
27.01.2020, 22:17

Теги

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