こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

powershell で特定の文字を削除したい

powershell でコマンドの学習をしており、どうしてもやりたいことが実現できないので御教示いただきたく存じます。
学習中のパソコンのOSはWindows 7 になります。

■前提
以下のA.txt と B.txt と C.txt があります。
 ・A.txt の中身
  aaa
  bbb
  123
  456
  789

 ・B.txt の中身
  aaa
  456

 ・C.txt の中身
  $PSV
  $Object
  A123456
  123
  456
  789
  6741

■やりたいこと
A.txt と B.txt を比較して差分結果を D.txt に出力します。
次に、D.txt の数値を行ごと削除するために C.txt を使って削除したいのですが、うまくいきません。
実行したコマンドは下記になります。

・Powershell
Compare-Object (Get-Content A.txt) (Get-Content B.txt) -PassThru | Out-File D.txt -encoding Default

Get-Content D.txt | Select-String "C.txt" -NotMatch

コマンドが思った動作にならないため、お知恵を拝借したいです。
よろしくお願いいたします。

追加質問:
二回に分けてコマンドを実行していますが、一回のコマンドで出来たりしますか?

投稿日時 - 2017-09-12 23:42:11

QNo.9373973

困ってます

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

正解かわかりませんが、こんな感じでしょうか。


Compare-Object (Get-Content .\A.txt) (Get-Content .\B.txt) | Out-File .\D.txt -encoding Default

Select-String .\D.txt -NotMatch -Pattern (Get-Content .\C.txt)

投稿日時 - 2017-09-13 01:32:53

お礼

ご回答いただき、有難う御座いました。
ファイル名と行番号が出てしまうため、以下に直したら希望通りの結果になりました。

Get-content .\D.txt | Select-String -NotMatch -Pattern (Get-Content .\C.txt)

投稿日時 - 2017-09-13 21:56:59

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問