Для вашего примера 2 это можно сделать в Bash, например, сохранить файл ниже как split:
#!/usr/bin/env bash
# Usage: ./split 'data.txt' 'value'
paired=( )
value="$2"
while read -a paired
do
[[ ${paired[1]} < $value ]] &&
echo "${paired[@]}" >> lessthan.txt ||
echo "${paired[@]}" >> morethan.txt
done < "$1"
# end file
Обратите внимание, что переменная paired - это массив. Использование read -a paired считывает каждую строку в массив пар, основанный на нулях, так что элемент 1 - это количество процентов в каждой строке. Аргумент 2 к split - это значение, которое будет использоваться для разбиения.
Для вашего примера 1, я не уверен, что вы хотите сделать, но вы можете модифицировать вышеприведенное так, чтобы по мере чтения каждой строки файла вы могли отправлять столбец 1 ${paired[0]}
или столбец 2 ${paired[1]}
в любой файл, который вы хотите, в зависимости от значения столбца 2.
Существует прямой эквивалент GNOME Web:
Шляпный наконечник:https://askubuntu.com/questions/207151