我有一个具有以下格式的文本文件:
characters(that I want to keep) (space) characters(that I want to remove)
例如:
foo garbagetext
hello moregarbage
keepthis removethis
(etc.)
所以我试图在 Linux 中使用 grep 命令来只保留每行中的字符,不包括第一个空格。我尝试了很多尝试,例如:
grep '*[[:space:]]' text1.txt > text2.txt
grep '*[^\s]' text1.txt > text2.txt
grep '/^[^[[:space:]]]+/' text1.txt > text2.txt
试图从不同的例子中拼凑起来,但我没有运气。他们都产生一个空白text2.txt
文件。我是新来的。我究竟做错了什么?
*编辑:
我要保留的部分包括大写字母。所以我想在每一行中保留任何/所有字符,但不包括空格(从空格开始删除所有内容)。
**编辑:
垃圾文本(我想删除)可以包含任何内容,包括空格、特殊字符等。例如:
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