私は次のような問題への解決策を見つけるために問題を抱えていますの値で特定の行と列を交換してください:私のテキストファイルの先頭には、この変数
XXXXX
XXXXXX XXXXXXX
X
X
X
XX
X
XXXXXXE+00 XXXXXXEE+03 XXXXXXE+07 XXXXXXE+00 XXXXXXE+00
XXXXXXE+00 XXXXXXEE+03 XXXXXXE+07 XXXXXXE+00 XXXXXXE+00
XXXXXXE+00 XXXXXXEE+03 XXXXXXE+07 XXXXXXE+00 XXXXXXE+00
XXXXXXE+00 XXXXXXEE+03 XXXXXXE+07 XXXXXXE+00 XXXXXXE+00
のXのように見えます 乱数があります。そして、16行目(vimを16行目として表示)から始まるこのパターンは、ファイルの終わり(vimに従う行71)まで続きます。行は常にスペースバーで始まり、その後に数字が続き、2つの数字の間には2つのスペースバーがあります。 私は、例えばv = 1.50のような値を持つ変数vを持っています 16行目から71行目までのすべての行について、最後の列の最初の4つのXを変数vの値に置き換えたいと思います。まさに終わり(行の先頭にスペースが残っているはずです)でこのファイル:
XXXXX
XXXXXX XXXXXXX
X
X
X
XX
X
XXXXXXE+00 XXXXXXEE+03 XXXXXXE+07 XXXXXXE+00 1.50XXE+00
XXXXXXE+00 XXXXXXEE+03 XXXXXXE+07 XXXXXXE+00 1.50XXE+00
XXXXXXE+00 XXXXXXEE+03 XXXXXXE+07 XXXXXXE+00 1.50XXE+00
XXXXXXE+00 XXXXXXEE+03 XXXXXXE+07 XXXXXXE+00 1.50XXE+00
私はawkを持つビットを試してみましたが、私はそれが数字の間にスペースを追加することに問題がなかった(1等が5 0。)私は正しい列と行(vimは "バイナリ"列)に貼り付けることができず、awkで正しい列を見つけることができませんでした。 どうすればいいですか?私はスクリプトを使用して多くのファイルのためにそれをやりたい ありがとうございました!ここ
':%s/X \ {6} E + 00 $/1.50XXE + 00'は機能しません。それとも、変数を使用したいのですか? – DJMcMayhem
こんにちは、はい、1.50は単なる例でした。私も多くのファイルを持っているので、各ファイルにvimを入力することはできず、各ファイルのbashスクリプトから自動的にそれをやりたい。そして、Xは無作為に異なる数字であることを忘れています。だから私は以前に何があったのか分かりません。 –
*変数*があると言ったら、どういう意味ですか?シェル変数?いくつかのプログラム内の変数?そのデータ型は何ですか? –