2011-08-13 9 views
1

未使用のCSSセレクタを見つけて実際に削除するアプリケーションの作成は禁止されているようですが、実際には削除してリストを作成するだけです(Dust-Me Selectorsアドオン)。私が使用したプログラム(Skybound Stylizer)は、x64に移動して以来、もう動作しません。PowerShellスクリプトを使用してファイルAのテキストをファイルBから削除する

Dust-Me Selectorsで作成したCSVファイルをCSSファイルから削除します。

データ形式がCSSファイルと一致しない場合は、CSVファイルをフォーマットする必要があるかもしれませんが、この質問のためにCSVファイルの各行をテキスト文字列と考えることができます。

ダスト-Meのセレクタサンプル.csvファイル:

Screenshot 1

Screenshot 2

File

+0

何をそれ?私はあなたがこれを行うことができないことに幾分驚いています。だから、ほこりが私の所でファイルの編集をサポートしていないということですか? –

+0

DMS(と他の人)がそれをやっていることは何度も読んだことがありますが、それを行う方法は見つけられませんでした。有料でWebサイトがあり、DMS(および他の人)が未使用のセレクタを削除しないことを確認しました。 – OIO

+0

Dust-MeのCSV出力に精通していないので、データのサンプルを表示するための質問を修正できますか?ファイルAのCSSがすべて1行にあると仮定するとかなり簡単でしょうが、コンテンツを解析する必要がある場合、*おそらく*ははるかに複雑な問題になります。 – billinkc

答えて

1

あなたはCSVファイルとCSSファイルの何かの間のラインの試合でラインを希望している場合これはうまくいくはずです:(私は似たようなファイルで何をしなければならなかったのか、多少なりともカフを外しましたが、現時点で私がチェックするスクリプトはありません)


$a1 = (Get-Content .\File1.csv) 
$b1 = (Get-Content .\File2.css) 

Foreach ($line in $a1) 
{ 
    $b1 | where { $_ -ne $line } | Set-Content .\File3.css 
} 

Move-Item .\File3.css .\File2.css -Force 

それはラインマッチのためのラインではない場合、文のようなものであることを場所を変更:ちょうどのみで使用されるルールを持って新しいファイルを作成することによって、後方にそれを操作する方法について


where { $_ -notlike "*$line*"} 
+0

ファイルA.csv(cat | dog)とファイルB.css(dog | fish | cat | bird)があります。スクリプトファイルB.txtの内容を実行した後に、fish | cat | birdがあります。 "where {}"の両方で "cat"という行を削除できませんでした。 – OIO

+0

興味深い...私はそれを試しても同じ問題を抱えています。私がA.csvの順序を変えれば、「猫」が取り出されますが、「犬」はまだそこにあります。 –

+0

ええ、これについては申し訳ありません...なぜこれをやっているのか、私はこの1つのロジックを見逃しているようです。もう1つの選択肢は、Compare-Objectを使用することですが、b.txtを作成するためにそれを使用する方法がわかりません。比較オブジェクト$ b1 $ a1 | InputObjectを選択すると、$ a1にない$ b1の項目だけが表示されます。 –

関連する問題