запретить новую строку в команде cut

можно cut строка без разрыва строки?

printf 'test.test' выводит test.test без перехода на новую строку.

но если я выход с printf 'test.test' | cut -d. -f1 есть строки за test.

3 ответов


есть много способов. В дополнение к isedev и ответы fedorqui, вы могли бы сделать:

  • perl -ne '/^([^.]+)/ && print ' <<< "test.test"
  • cut -d. -f1 <<< "test.test" | tr -d $'\n'
  • cut -d. -f1 <<< "test.test" | perl -pe 's/\n//'
  • while read -d. i; do printf "%s" "$i"; done <<< "test.test

Нет, я знаю. man cut довольно короткий и не отражает ничего подобного.

вместо этого вы можете предоставить cut вывод printf С строка, так что новая проблема строки снова зависит от printf:

printf '%s' $(cut -d. -f1 <<< "test.test")

Если вам не нужно использовать cut, вы можете достичь того же результата с awk:

printf 'test.test' | awk -F. '{printf()}'