1

次のコマンド「grep bruno < bash.txt」を実行すると、正しい出力「bruno」とゴミ「\f0\fs24 \cf0」が得られます。

私は Mac OS X v10.6.8 でコマンド シェルを使用していますが、見つかった単語とその単語の行を取得する必要があると確信しています。ゴミではありません。

これは出力です:

Mobile-Devs-MacBook-Pro:Screenshots Poupe mdev$ grep bruno < bash.txt  
\f0\fs24 \cf0 bruno\

bash.txt には「bruno」としか書いていませんが、「cat bash.txt」で出力すると、次のゴミも表示されます。

Mobile-Devs-MacBook-Pro:Screenshots Poupe mdev$ cat bash.txt
{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\paperw11900\paperh16840\margl1440\margr1440\vieww9000\viewh8400\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\f0\fs24 \cf0 bruno\

「echo bruno > bash.txt」を作成してから「cat bash.txt」を作成すると、クリーンな出力が得られます。ファイルを手動で書き込むと、きれいな出力が表示されないのはなぜですか?

4

3 に答える 3

2

ファイルはプレーン テキスト ファイルではありません。RTFです。grepリッチテキストフォーマットとともに、「ブルーノ」を含む行が表示されます。

あなたがするとき:

echo bruno > bash.txt

bash.txt には「bruno」のみが含まれています。

「手動でファイルを編集」すると、エディターは RTF として保存されます。プレーンテキストとして保存する必要があります。

プレーンテキスト

于 2012-03-26T16:52:18.560 に答える
2

それはプレーンテキストファイルではありません。それはRTFのように見えます。grep はテキストのみを理解し、その仕事は検索テキストが見つかった行全体を出力することです。

あなたのフォーマットからはわかりませんが、あなたが見ている「ゴミ」は「ブルーノ」テキストと同じ行にあると信じなければなりません。

于 2012-03-26T16:53:40.043 に答える
0

他の人が指摘しているように、問題はファイルが RTF 形式であり、書式設定情報が含まれていることです。TextEdit でプレーン テキスト ファイルを作成する場合は、ファイルを保存する前にメニュー オプション [フォーマット] > [プレーン テキストを作成] を使用します。いっそのこと、TextEdit をまったく使用しないでください。プレーン テキスト編集で私のお気に入りはTextWranglerですが、他にもたくさんのオプションがあります。

于 2012-03-26T17:38:14.930 に答える