私は本当に不思議です:シェルのテキスト処理プログラムを支援するツールはありますか?> 1つのカラムをカットし、テキスト処理プログラムに提供してから戻します。shellコマンドは1つのカラムだけを扱います
例えば、私が持っているファイル:
3f27,tom,17
6d44,jack,19
139a,jerry,7
私はフィールド2を変更したいが、すべてのAEIOUを削除します。
この問題を回避する方法はたくさんあります。しかし、なぜ我々はそれに直面しないのですか?
ように私は、ツールをしたい:これは、よりクリーンで強力です
deal-only -d"," -f2 sed 's/[aeiou]//g'
。
だから、誰かがそのようなツール、または同様の解決策を知っていますか? いいえの場合は、作成します。
私は上記に述べたように、私はsed
を知られている、またはawk
がよく問題の上に対処することができます。 しかし、複雑な問題が発生した場合、sed
またはawk
で保存できません。
deal-only -d"," -f2 ./ip2country.rb
ここで、カラム2をipからcountryに変更したいとします。その後
# script.awk
BEGIN { FS="," }
{print $1 "," gensub("[aeiou]+", "", "g", $2) "," $3}
:awk
使用
目標は、少なくともあなた自身でこれを解決するために行った研究努力を示すために独自のコードを追加することです。 – Cyrus
awkは特定の列のみを処理するのに非常に適しています。 awkのソリューションは非常に明確になる傾向があります。 sedとawkの後、perlやpythonは次の強力なツールになります。また、異なる視点のために:Excelやlibreofficeなどのスプレッドシートは、列を使った作業で**非常に優れています**、豊富な機能を備えています。 –
@Cyrus問題を更新しました。第二の要求は、私が会った本当の問題です。私はこの問題を処理するのに多くの時間を費やします。答えがほしい、ショーのためではない。 – pjincz