だから私は主に英数字のテキストファイルを持っています。標準文書です。ところでPDFからコピーして貼り付けたのでページ番号があります。ページ以外の数字が時々現れるのはあまり気にしないので、使い切ったり消したりするつもりsed
ですtr
。結局のところ、これはGUIで最初の0、1、2などを見つけて置き換えるよりも少し高速です。
ではどうすればいいですか?
ベストアンサー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
ページ番号のみを削除したい場合は、より良い正規表現を使用してページ番号の対応する番号を識別できます。たとえば、ページ番号がスペースを除いて常に1行にある場合、次のコマンドはスペースで囲まれた数だけを含む行のみを削除します。
sed -e '/^ *[0-9]\+ *$/d' <old.txt >new.txt
(\+
GNU拡張です。一部のsed
実装では、より長い標準的な選択肢が必要な場合があります。\{1,\}
または使用[0-9][0-9]*
)。
ただし、これにコマンドラインを使用する必要はありません。ある程度の有能な編集者は、正規表現検索と置換機能を備えています。