• ベストアンサー

Cシェルでテキストファイルの行削除方法

現在、Cシェルの勉強をしていますが、ある文言に完全一致した行のみ削除する方法が分かりません。 例として、下記のようなファイルがあり、"AAA"を指定して削除しようとすると、"AAA_1"までも削除されてしまいます。 例)test.txt AAA aaa AAA_1 aaa BBB bbb CCC ccc お手数ですがご教授いただけると幸いです。 以上、宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • trapezium
  • ベストアンサー率62% (276/442)
回答No.3

典型的なふわっとした質問ですね。まず Cシェル自体の勉強したいから、わざと sed とか awk は選択枝に入ってないのか、御自分がどう実行して駄目だったのかの説明もありません。 grep -vw AAA test.txt or sed '/^\<AAA\>/d' test.txt とか厳密に Cシェルのスクリプトらしくというならそういうふうに。

cliosworld
質問者

お礼

ありがとうございました。想定通りの動作をすることが確認出来ました。

その他の回答 (2)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

>"AAA"をキーにして一致した文言があれば、その行のみ削除したいと思っています。 その条件だと質問に書かれているように"AAA_1"のある行が削除されてもおかしくないですよ。 あと、Cシェルはほとんど関係ない気がしますけど、どのようにして削除しようとしていますか?

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

"AAA"に完全一致した行を削除ということだと、 例のtest.txtは全ての行が残るはずですけど、 本当の条件はなんですか?

cliosworld
質問者

補足

分かりづらくて申し訳ありません。 "AAA"をキーにして一致した文言があれば、その行のみ削除したいと思っています。

関連するQ&A