0

3 番目の列が 3 桁を超える場合、入力ファイルを処理するために以下の nawk コマンドで if 条件を実装する必要があります。

入力ファイル.txt

123 | abc | 321456 | tre 

213 | fbc | 342    | poi 

出力ファイル.txt

123 | abc | 321### | tre 

213 | fbc | 342    | poi 

cat inputfile.txt | nawk 'BEGIN {FS="|"; OFS="|"} {if($3 > 3) $3=substr($3, 1, 3)"###" print}'
4

2 に答える 2

0

これは gawk で動作します:

awk -F '[[:blank:]]*\\\|[[:blank:]]*' -v OFS=' | ' '
    $3 ~ /^[[:digit:]]{4,}/ {$3 = substr($3,1,3) "###"} 
    1
' inputfile.txt 

空白は保持されないため、パイプスルーすることをお勧めしますcolumn -t

于 2014-02-19T21:13:13.290 に答える