Как я могу обрезать возврат каретки из текста, который передается в bash?

Я использую эту команду для получения последней введенной команды:

history | cut -c 8- | tail -n 2 | head -n 1 

Он очень хорошо работает в bash, удаляя номера строк, но есть одна проблема с ним: (er, раздражение, потому что я хочу только команду), и я xsel это в xsel буфера обмена xsel :

Он также захватывает завершающую новую линию / возврат каретки …

Я знаю в некоторых оболочках, которые вы можете использовать:

 echo "text \c" 

Я не уверен, как включить это в bash .

Дополнительные точки для решения, которые легче всего набирать на лету 🙂

2 Solutions collect form web for “Как я могу обрезать возврат каретки из текста, который передается в bash?”

Вы можете получить последнюю команду в своей истории с помощью встроенного bash !! и используйте echo -n для печати этой команды без символа новой строки в конце:

 echo -n !! 

!! аргумент будет расширяться до фактической командной строки и -n гарантирует, что вывод не содержит символа новой строки.

Если я правильно читаю ваш вопрос, вам нужно удалить конечную новую строку. Попробуйте этот бит perl: `perl -ne 'chomp и print'

Примеры:

 [root@talara test]# ls -la total 20 drwxr-xr-x 3 root root 4096 Jun 7 21:30 . dr-xr-x---. 28 root root 4096 Jun 8 08:42 .. -rw-r--r-- 1 root root 0 Jun 7 15:10 FILE1 drwxr-xr-x 3 root root 4096 Jun 7 14:49 ham -rw-r--r-- 1 root root 36 Jun 7 21:31 t -rw-r--r-- 1 root root 11 Jun 7 16:21 test [root@talara test]# ls -la | perl -ne 'chomp and print' total 20drwxr-xr-x 3 root root 4096 Jun 7 21:30 .dr-xr-x---. 28 root root 4096 Jun 8 08:42 ..-rw-r--r-- 1 root root 0 Jun 7 15:10 FILE1drwxr-xr-x 3 root root 4096 Jun 7 14:49 ham-rw-r--r-- 1 root root 36 Jun 7 21:31 t-rw-r--r-- 1 root root 11 Jun 7 16:21 test 

И чтобы упростить написание снова и снова и на лету, вы можете сделать псевдоним: alias chomp="perl -ne 'chomp and print'"

  • Извлечение данных из файлов в нескольких каталогах
  • Как получить владельца и полный путь 50 файлов большого размера для всех пользователей?
  • Скрипт для сравнения с файлами Excel и различиями печати
  • Объединение нескольких файлов в один CSV
  • Как вывести команду оболочки в переменную?
  • Сценарий оболочки для резервного копирования каталогов
  • Как быстро сканировать беспроводные сети
  • Передать пароль для 7zip
  • команда find с несколькими шаблонами, не возвращающими никакого вывода
  • Как удалить первые n строк файла ascii с помощью команд оболочки?
  • Как добавить папку на удаленный хост PATH с помощью сценария оболочки?
  • Linux и Unix - лучшая ОС в мире.