Як я можу замінити всі нові рядки пробілом, крім останнього нового рядка. Я можу замінити всю нову лінію на простір за допомогою, tr
але як я можу це зробити за деякими винятками?
Як я можу замінити всі нові рядки пробілом, крім останнього нового рядка. Я можу замінити всю нову лінію на простір за допомогою, tr
але як я можу це зробити за деякими винятками?
Відповіді:
Повторна реалізація ідеї vonbrand в Perl, за умови, що файл досить малий:
perl -p00e 's/\n(?!\Z)/ /g' your_file
Це працювало для мене.
tr '\n' ' ' < file_with_new_line | sed 's/\ $//g' > file_with_space
tr
команда замінює всі нові рядки пробілами, а ваша sed
команда видаляє останній пробіл. Це призводить до отримання файлу без остаточного нового рядка, тому питання не задається. До речі, g
в sed
команді немає жодного сенсу int . Оскільки ви використовуєте $
, це може збігатися лише в кінці, g
безглуздо. Також вам не потрібно уникати місця, `` також не має значення.
-s
і-d
варіанти, схоже, зроблені.