LINUX.ORG.RU
решено ФорумAdmin

Убрать пробелы.

 , ,


0

1

Скажите пожалуйста, а как можно убрать пробелы не в файле , а например в выводе команды? sed вроде работает только с файлами?

Например я хочу вывести только Machine ID без пробелов перед ним.

hostnamectl
   Static hostname: mypc
         Icon name: mypc
           Chassis: n/a
        Machine ID: mypc
           Boot ID: mypc
  Operating System: Debian GNU/Linux 8 (jessie)

sed вроде работает только с файлами?

sed - stream editor

vodz ★★★★★
()

в выводе команды

sed вроде работает только с файлами

Ты удивишься, но вывод команды - это тоже файл.

no-such-file ★★★★★
()

Лень вспоминать, как sed работает.

$ cat /tmp/a 
hostnamectl        
   Static hostname: mypc               
         Icon name: mypc               
           Chassis: n/a                
        Machine ID: mypc               
           Boot ID: mypc               
  Operating System: Debian GNU/Linux 8 (jessie)                                
$ cat /tmp/a | perl -pe 's/^\s+//'                   
hostnamectl        
Static hostname: mypc                  
Icon name: mypc    
Chassis: n/a       
Machine ID: mypc   
Boot ID: mypc      
Operating System: Debian GNU/Linux 8 (jessie)   
anonymous
()
Ответ на: комментарий от no-such-file

не сталкивался раньше с ним. спасибо , прочту доки

RaptorsWings
() автор топика
Ответ на: комментарий от RaptorsWings

Лучше про потоки (stdin\stdout\stderr) сначала почитайте. А то я так понимаю что с sed'ом вы разобрались, а на такой мелочи застряли.

micronekodesu ★★★
()
Ответ на: комментарий от nvl

Извращенец. «Ехал грепа через грепу, грепа грепа - авк». Выше же уже привели простой пример.
Если вашу же конструкцию натравить на ооочень большой лог файл, писец как долго будет выполняться, по сравнению с обработкой sed-ом

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.