Это очень общее решение, например, если вы хотите отсортировать файл, сохраняя первую строку на месте. По сути, "пропустите первую строку как есть, затем сделайте все, что я хочу (awk
/ grep
/ sort
/ что угодно) с остальными данными."
Попробуйте это в скрипте, возможно, назвав его keepfirstline
(не забудьте chmod +x keepfirstline
и поместите его в PATH
):
#!/bin/bash
IFS='' read -r JUST1LIINE
printf "%s\n" "$JUST1LIINE"
exec "$@"
Может использоваться следующим образом:
cat your.data.csv | keepfirstline grep SearchTerm > results.with.header.csv
или, возможно, если вы хотите отфильтровать с помощью awk
cat your.data.csv | keepfirstline awk '$1 < 3' > results.with.header.csv
Мне часто нравится сортировать файл, но заголовок остается в первой строке
cat your.data.csv | keepfirstline sort
keepfirstline
выполняет заданную команду (grep SearchTerm
), но только после чтения и печати первой строки.