次のファイルがあります。
1 abcde
2 00
3 12
4 12
5 ghijkl
6 jsaslm
7 uawrns
8 abcde
9 \(%"!&/
10 $!"$&/(
90 !§%/(//
最初の「列」(たとえば、1、2などを含む数字)から3より大きいすべての数字を変更したいと思います。これは、3で割った数字を除いて(ただし3でなければならない)、数字をモジュロ3で計算した結果に置き換える必要があります。したがって、結果は次のようになります。
1 abcde
2 00
3 12
1 12
2 ghijkl
3 jsaslm
1 uawrns
2 abcde
3 \(%"!&/
1 $!"$&/(
3 !§%/(//
形式は重要ではありませんが、上記の方法が好ましい。
私はLinuxを使用しています。
ベストアンサー1
更新された問題を解決するには、awkを使用してください。
awk '$1{$1=$1%3?$1%3:3}1' file
1 abcde
2 00
3 12
1 12
2 ghijkl
3 jsaslm
1 uawrns
2 abcde
3 \(%"!&/
1 $!"$&/(
3 !§%/(//