所以,我有这个文本文件,它主要由字母数字字符组成。这是一份标准文件。但由于我是从 PDF 复制并粘贴的,所以里面有页码。我不太关心偶尔出现的不是页面的数字,所以我想我会用sed
或将它们全部清除tr
。毕竟,只是比在 GUI 中查找并替换第一个零、然后一个、然后两个等等快一点。
那么我该怎么做呢?
答案1
要删除所有数字,有以下几种可能性:
tr -d 0-9 <old.txt >new.txt
tr -d '[:digit:]' <old.txt >new.txt
sed -e 's/[0-9]//g' <old.txt >new.txt
如果您只想删除页码,您可能可以使用更好的正则表达式来识别页码的那些数字。例如,如果除空格外页码始终单独位于一行上,则以下命令将仅删除仅包含由空格包围的数字的行:
sed -e '/^ *[0-9]\+ *$/d' <old.txt >new.txt
(\+
是 GNU 扩展;对于某些sed
实现,您可能需要更长的标准替代方案:\{1,\}
或使用[0-9][0-9]*
)。
不过,您不需要为此使用命令行。任何中等水平的编辑器都具有正则表达式搜索和替换功能。
答案2
我相信您正在寻找的是:
tr -d 0-9