カンチレバー発掘

ずいぶん前のことです。 彼はコンソールであらゆる種類のスクリプトを作成しましたが、PHPシステムコールではいくつかのスクリプトが必要になる可能性があります。 大規模および非常に大きなテキストファイルに非常に関連します。



1.ファイル内の文字を置き換える

2.ウィンドウのようなハイフネーションの削除

3.高速行カウント

4. CSVのようなファイルから列を切り取る

5.列でファイルを並べ替える

6. iniファイルに基づいてデータベースを解析する



p。4.6 awkで使用します。 誰も知らない場合、これはテキストデータを処理するための特殊なcライクな言語です(ちなみに、非常にphpに似ています)。 非常に高速に動作します。





1) fooファイル内のすべての「e」を「o」に置き換えます。

  sed -i.bak y / e / o / g foo 


-i.bakはfoo.bakという名前のファイルをバックアップします



2)Windows転送(\ n \ r)でファイルをコピーした場合、それらを単に削除する

  col -bx <dosfile> newfile 




3)ファイル内の行数を非常に迅速に計算します(パフィングよりも数百倍高速に動作します)

  wc -lファイル 




4)ファイルからいくつかの列を切り取る

 猫somefile |  awk '{print $ 1 $ 2 $ 4 $ 6;}' 


ここで、CSVファイルの入力では、タブ/スペース区切りのみ。 コンマなどが必要な場合は、追加することで別のセパレータを簡単に追加できます

  awk 'BEGIN {FS = "、"} {print $ 1 $ 2 $ 4 $ 6;}' 


そして、出力はそこから1,2,4,6列です。



5)ファイルfooを列でソートするタスクがある場合、列セパレーターの意味-タブ(パラメーター "-t \ t"):

  sort -t \ t -b -k 1n、3n foo 




6)私は正確に書いていない、覚えていないが、必要に応じて、awkを使用してiniファイルを解析する方法を伝えることができる



All Articles