リンクされたXMLファイルのクリーンアップ

リンクされたXMLファイルのクリーンアップ

私は私の問題を修正しようとしています。おいしいエクスポートスクリプト新しい」いたずら「一度に1000のブッ​​クマークのみが提供されています。スクリプトは複数の呼び出しの結果(XML)を1つのファイルにリンクするため、結果ファイルからヘッダーとフッターテキストを削除する必要があります。例:

<?xml ...
<posts ...
  <post ...
  ...          # 998 other posts
  <post ...
</posts>     # Line 1003
# The above lines are repeated N times before the final line:
</posts>

つまり、<post(排他的に)3行目と最後の行の間で始まらない行を削除したいのですが、各XMLブロックには最後の行を除いて正確に1003行があります。

私は完璧だと思うかsed完璧でawkなければなりません。

ベストアンサー1

データ型が一貫しているため、ヘッダーとトレーラーが友達になります。これは最後の短いファイルでも機能します。

cat file | tail -n +3 | head -n -1 > trimmed_file

tail -n +3 はファイルの 3 行目から最後まですべてを取得し、head -n -1 はファイルの最後の行を除くすべてを取得します。

切り捨てられたファイルセットがある場合は、ファイル全体の適切なヘッダーとフッターセクションと一緒に配置します。

更新:複数の追加ファイルを作成したくない場合は、そのファイルをforループに囲みます。

for i in *
do
    cat $i | tail -n +3 | head -n -1 >> newfile
done

headでファイルの1つを実行して最初の3行を抽出し、上記のforループを実行してヘッダーテンプレートを取得します。次に、tailを使用して同様の操作を実行して、ファイルの1つの最後の行を取得して新しいファイルに追加します。ヘッダーとフッター情報を更新する必要があるようです。

おすすめ記事