У меня есть текстовый файл, который имеет следующий формат:
characters(that I want to keep) (space) characters(that I want to remove)
Итак, например:
foo garbagetext
hello moregarbage
keepthis removethis
(etc.)
Итак, я пытался использовать команду grep в Linux, чтобы сохранить только символы в каждой строке и не включать в себя первое пустое пространство. Я пробовал множество попыток, таких как:
grep '*[[:space:]]' text1.txt > text2.txt
grep '*[^\s]' text1.txt > text2.txt
grep '/^[^[[:space:]]]+/' text1.txt > text2.txt
пытается объединиться из разных примеров, но мне не повезло. Все они создают пустой файл text2.txt
. Я новичок в этом. Что я делаю неправильно?
* EDIT:
Части, которые я хочу сохранить, включают заглавные буквы. Поэтому я хочу сохранить все/все символы до и не включать пробел (удаляя все из пустого пространства вперед) в каждой строке.
** EDIT:
Текст мусора (который я хочу удалить) может содержать все, включая пробелы, специальные символы и т.д. Так, например:
AA rough, cindery lava [n -S]
После запуска grep -o '[^ ]*' text1.txt > text2.txt
строка выше будет выглядеть следующим образом:
AA
rough,
cindery
lava
[n
-S]
в text2.txt. (Все, что я хочу сохранить, AA
)
РЕШЕНИЕ (предоставлено Rohit Jain с дополнительным вводом beny23):
grep -o '^[^ ]*' text1.txt > text2.txt