Как добавить строку в конец файла без '\ n'?

echo "xxx" >> file_a похож на то, что я хочу.

Но он всегда присоединяет строку с новой строкой.

Если я просто хочу присоединить строку без новой строки, [ ! d2]

Как это сделать?

Спасибо ~

3
задан 1 September 2011 в 15:19

21 ответ

Используйте функцию printf builtin bash

printf "xxx" >> file

или -n для параметра echo, которые подавляют новую строку.

5
ответ дан 25 May 2018 в 19:03
  • 1
    printf является не только встроенным Bash, но и /usr/bin/printf. В отличие от опции -n echo printf определяется POSIX, поэтому обычно это лучший выбор. – Florian Diesch 1 September 2011 в 15:32
  • 2
    @Florian Diesch: Я знаю, но мы говорим о Ubuntu , где оболочка по умолчанию - bash, а где echo имеет параметр -n, поэтому это не так важно, как это может быть на общем сайте unix / linux. Более того, также sh 's echo имеет -n вариант, поэтому лучше предложить альтернативы, которые будут настолько радикальными, на мой взгляд. – enzotib 1 September 2011 в 15:38

Используйте функцию printf builtin bash

printf "xxx" >> file

или -n для параметра echo, которые подавляют новую строку.

5
ответ дан 25 July 2018 в 21:22

Используйте функцию printf builtin bash

printf "xxx" >> file

или -n для параметра echo, которые подавляют новую строку.

5
ответ дан 31 July 2018 в 13:14

Используйте функцию printf builtin bash

printf "xxx" >> file

или -n для параметра echo, которые подавляют новую строку.

5
ответ дан 2 August 2018 в 03:02

Используйте функцию printf builtin bash

printf "xxx" >> file

или -n для параметра echo, которые подавляют новую строку.

5
ответ дан 4 August 2018 в 18:52

Используйте функцию printf builtin bash

printf "xxx" >> file

или -n для параметра echo, которые подавляют новую строку.

5
ответ дан 6 August 2018 в 03:15

Используйте функцию printf builtin bash

printf "xxx" >> file

или -n для параметра echo, которые подавляют новую строку.

5
ответ дан 7 August 2018 в 20:56

Использовать printf:

printf "xxx" >> file_a 
3
ответ дан 25 May 2018 в 19:03

Небольшая вариация на тему, хотя несколько многословная

awk '1;END{printf "xxx"}' input_file > tmp_file && mv tmp_file input_file 

Или вы можете сделать это и с python3:

$ cat -A input.txt                                                                                    
line1$

$ python3 -c "import sys;fd=open(sys.argv[1],'a');fd.write('xxx');fd.close()" input.txt               

$ cat -A input.txt                                                                                    
line1$
xxx
1
ответ дан 25 May 2018 в 19:03

Использовать printf:

printf "xxx" >> file_a
3
ответ дан 25 July 2018 в 21:22

Небольшая вариация на тему, хотя несколько многословная

awk '1;END{printf "xxx"}' input_file > tmp_file && mv tmp_file input_file

Или вы можете сделать это и с python3:

$ cat -A input.txt line1$ $ python3 -c "import sys;fd=open(sys.argv[1],'a');fd.write('xxx');fd.close()" input.txt $ cat -A input.txt line1$ xxx
1
ответ дан 25 July 2018 в 21:22

Использовать printf:

printf "xxx" >> file_a
3
ответ дан 31 July 2018 в 13:14

Небольшая вариация на тему, хотя несколько многословная

awk '1;END{printf "xxx"}' input_file > tmp_file && mv tmp_file input_file

Или вы можете сделать это и с python3:

$ cat -A input.txt line1$ $ python3 -c "import sys;fd=open(sys.argv[1],'a');fd.write('xxx');fd.close()" input.txt $ cat -A input.txt line1$ xxx
1
ответ дан 31 July 2018 в 13:14

Использовать printf:

printf "xxx" >> file_a
3
ответ дан 2 August 2018 в 03:02

Небольшая вариация на тему, хотя несколько многословная

awk '1;END{printf "xxx"}' input_file > tmp_file && mv tmp_file input_file

Или вы можете сделать это и с python3:

$ cat -A input.txt line1$ $ python3 -c "import sys;fd=open(sys.argv[1],'a');fd.write('xxx');fd.close()" input.txt $ cat -A input.txt line1$ xxx
1
ответ дан 2 August 2018 в 03:02

Использовать printf:

printf "xxx" >> file_a
3
ответ дан 4 August 2018 в 18:52

Небольшая вариация на тему, хотя несколько многословная

awk '1;END{printf "xxx"}' input_file > tmp_file && mv tmp_file input_file

Или вы можете сделать это и с python3:

$ cat -A input.txt line1$ $ python3 -c "import sys;fd=open(sys.argv[1],'a');fd.write('xxx');fd.close()" input.txt $ cat -A input.txt line1$ xxx
1
ответ дан 4 August 2018 в 18:52

Использовать printf:

printf "xxx" >> file_a
3
ответ дан 6 August 2018 в 03:15

Небольшая вариация на тему, хотя несколько многословная

awk '1;END{printf "xxx"}' input_file > tmp_file && mv tmp_file input_file

Или вы можете сделать это и с python3:

$ cat -A input.txt line1$ $ python3 -c "import sys;fd=open(sys.argv[1],'a');fd.write('xxx');fd.close()" input.txt $ cat -A input.txt line1$ xxx
1
ответ дан 6 August 2018 в 03:15

Использовать printf:

printf "xxx" >> file_a
3
ответ дан 7 August 2018 в 20:56

Небольшая вариация на тему, хотя несколько многословная

awk '1;END{printf "xxx"}' input_file > tmp_file && mv tmp_file input_file

Или вы можете сделать это и с python3:

$ cat -A input.txt line1$ $ python3 -c "import sys;fd=open(sys.argv[1],'a');fd.write('xxx');fd.close()" input.txt $ cat -A input.txt line1$ xxx
1
ответ дан 7 August 2018 в 20:56

Другие вопросы по тегам:

Похожие вопросы: