如何使用 grep [sed] 重写 txt 文件中的行?

如何使用 grep [sed] 重写 txt 文件中的行?

我有一个文本文件,其中每一行都有这样的格式......

25126 Akers, David

我需要将其以这样的格式插入数据库......

25126;Akers, David;

唯一的问题是,有些名称中可能有空格,例如……

25257 Ah You, C.J.

有人告诉我应该使用 grep,但我不确定如何去做。

答案1

grep不适合这样的任务,因为它是一个搜索工具,但如果我正确理解了这个问题,你可以使用sed,如下例所示:

sed 's/^\([0-9]\+\) \(.*\)$/\1;\2;/' input-file >output-file

为了预防性地检查所有行是否符合上述模式,请运行以下命令

sed -n '/^\([0-9]\+\) \(.*\)$/!p' input-file

那应该什么也不会返回。

相关内容