Разделение файла на несколько файлов на основе значения 1-го столбца

Я видел решения по разбиению файла по отношению к сопоставлению с образцом и сопоставлению строк, но то, что я хочу, – это следующее. Сценарий, скажем, у меня есть файл file1

 AB|100|20 AB|101|20 AX|101|30 AX|1000|20 BY|1|1 

Теперь я хочу разбить этот файл на 3 разных файла, только на основе первого столбца, где первым файлом будут все строки, содержащие AB в первом столбце, второй файл должен иметь все строки с AX и так далее.

Если первый столбец каким-либо образом изменяется, должен быть создан новый файл для этих строк. Есть ли способ сделать это с помощью bash или awk ?

Поскольку нет способа узнать перед собой, что такое первое значение столбца, я не смог использовать какую-либо функцию, например split или cut . Спасибо за помощь в продвижении!

Пытаться:

 awk -F\| '{print>$1}' file1 

Это записывает каждую строку в файл с именем после первого столбца.

Как это работает:

  • -F\| устанавливает разделитель полей в | ,

  • print>$1 печатает текущую строку в файл, имя которого является первым полем.