начать эволюцию с разрушенными нитями?

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

awk '/^v[^123]/ { print >"file1" }
     /^v1/ { print >"file2" }
     /^v2/ { print >"file3" }
     /^v3/ { print >"file4" }' inputfile

Это создаст четыре файла.

Первое регулярное выражение соответствует только строкам, начинающимся с v, за которыми не следуют цифры 1, 2 или 3 (, поскольку они должны идти в других файлах ). Строки, не соответствующие ни одному из регулярных выражений, отбрасываются.

То же, что иsed:

sed -n \
    -e '/^v[^123]/w file1' \
    -e '/^v1/w file2' \
    -e '/^v2/w file3' \
    -e '/^v3/w file4' inputfile

Команда wв sedзаписывает текущую строку в указанный файл.

И с петлей оболочки (вы не действительно хотите использовать это):

rm -f file[1234]
while read -r words; do
    case "$words" in
        v1*) printf '%s\n' "$words" >>file2 ;;
        v2*) printf '%s\n' "$words" >>file3 ;;
        v3*) printf '%s\n' "$words" >>file4 ;;
        v*)  printf '%s\n' "$words" >>file1 ;;
    esac
done <inputfile

Это почти то же самое, за исключением того, что пробелы после каждой строки ввода будут удалены, также начальные пробелы игнорируются и удаляются. Здесь также важен порядок испытаний.

И, наконец, с edсо сценарием, который, что неудивительно, идентичен тому, который используется сsed:

cat <<ED_END | ed -s inputfile
/^v[^123]/w file1
/^v1/w file2
/^v2/w file3
/^v3/w file4
ED_END
0
08.04.2020, 10:53
1 ответ

В моей Ubuntu 18 эта команда сработала (по умолчанию, расширение потока -равно true)

gsettings set org.gnome.evolution.mail thread-expand false
2
28.04.2021, 23:18

Теги

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