nawk
コマンドで関数呼び出しを実行する方法がわかりません。入力と出力から必要なものをスコープに与えました。関数は列 3 を検証し、true または false を返す必要があります。列が条件を満たす場合は、適切なファイルに移動する必要があります。そうでない場合は、不良ファイルに移動します。nawk
私の機能を実現するためにコマンドを変更するのを手伝ってもらえますか?
長さの検証を 1 つのステートメントで実行できることはわかっていますが、検証関数は単なるサンプル コードです。検証機能で長さチェックをさらに実現したい。
入力.txt :
1 | I | 123 | KK
3 | U | 3456 | JJ
6 | B | 241 | YH
outputgood.txt :
3 | U | 3456 | JJ
outputbad.txt :
1 | I | 123 | KK
6 | B | 241 | YH
脚本:
#!/bin/sh
#function validation
function validate(){
in = $1
if length(in) > 3
return true
else
return false
}
nawk -F '|' 'function validate($3){print}' input.txt > outputgood.txt