`cut -d: -f5-` друкує рядки, навіть якщо вони не мають двокрапки


12

Припускаючи файл з назвою "файл", що містить рядки:

foo:bar:baz:qux:quux
one:two:three:four:five:six:seven
alpha:beta:gamma:delta:epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog

Якщо ми використовуємо команду cut з цими параметрами, ми отримуємо:

$ cut -d ":" -f 5- file
quux
five:six:seven
epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog

В останньому рядку символ двокрапки не був знайдений так зазвичай, він не повинен був приймати цей рядок, оскільки ми починаємо з 5-го поля до кінця рядка.

Чому це так?

Відповіді:


16

За замовчуванням cutза допомогою -fпараметра друкується будь-який рядок, який не містить розділового символу. Використовуйте, -sякщо ви не хочете їх:

$ cut -d ":" -f 5- -s file
quux
five:six:seven
epsilon:zeta:eta:theta:iota:kappa:lambda:mu
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.