Вырезать каждую 100-ю колонку из csv

У меня есть файл данных чисел, разделенных вкладками, например

1 2 3 4 2 4 6 8 

Мой реальный файл имеет ширину 50000, и мне нужен только каждый 100-й столбец (столбец 100, 200, 300, 400, …). Теперь я хотел бы удалить все остальные столбцы.

Как я могу это сделать?

2 Solutions collect form web for “Вырезать каждую 100-ю колонку из csv”

Это то, что awk для:

 awk '{for(i=100;i<=NF;i+=100){printf "%s ",$i;} print ""}' file > output 

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

 awk -F'\t' '{for(i=100;i<=NF;i+=100){printf "%s ",$i;} print ""}' file > output 

Кроме того, вы можете использовать Perl:

 perl -ane 'for($i=99;$i<=$#F;$i+=100){print "$F[$i] "}' file > output 

Чтобы сделать это для нескольких файлов, вы можете использовать цикл оболочки (при условии, что вы хотите запустить его для всех файлов в текущем каталоге):

 for f in *; do awk '{for(i=100;i<=NF;i+=100){printf "%s ",$i;} print ""}' "$f" > "$f".new; done 

Хотя я не знаю, присвоено ли это большими файлами, вы можете сделать это с помощью cut :

 cut -d " " -f -100 < [your file] 
  • Как создать файл CSV без лишних пробелов?
  • Учитывая CSV-файл, как мне удалить контент между 2-й и 3-й вкладками каждой строки?
  • Использование jq для извлечения значений и форматирования в CSV
  • Преобразовать файл .xlsx (MS Excel) в .csv в командной строке с полями, разделенными точкой с запятой
  • awk попарные разности
  • Как я могу подсчитать количество строк в файле после соответствия grep?
  • Как я могу использовать несколько операторов if внутри другого if инструкции awk-программы?
  • Удаление пробелов из полей в файле с разделителями с запятой с использованием сценария оболочки
  • Вопрос о инструкциях конкатенации
  • Извлечение столбца из текста, разделенного запятыми.
  • Как объединить два файла на основе соответствия двух столбцов? CSV
  • Interesting Posts

    Iptables forward с pptp и openvpn

    Как сравнить два значения float в ksh?

    Как назначить несколько разных имен интерфейсов на одной карте NIC (аппаратный MAC-адрес)

    Как отсортировать вывод ps для поиска приоритетов в реальном времени и определить обработанную текущую очередь процесса

    почему нельзя переименовать subdir, если родительский dir-владелец не является тем же пользователем

    свободная команда, отображающая всю физическую память, или какая-то RAM зарезервирована и скрыта?

    Как установить MySql на Red Hat 6.1?

    Почему Eclipse думает, что я набираю «ctrl + a», когда я набираю «a»?

    Есть ли какое-либо влияние на процесс сбора зомби?

    Выделение пользовательского синтаксиса в Gedit

    Соедините каждую строку файла с определенной переменной во второй команде

    Как запустить xfreerdp на localhost?

    Изменение порядка разделов в GParted

    emacs не открывается

    эхо строки с восклицательным знаком

    Linux и Unix - лучшая ОС в мире.