GNU/Linux >> Linux の 問題 >  >> Linux

一重引用符やその他の特殊文字を含む文字列を印刷しますか?

AIXスクリプトを使用してこれを正しく書き込むにはどうすればよいですか?私の要件は、このコマンドをtest.txtに書き込むことです:

clock=$(prtconf -s | awk '{print $4,$5}')

このコマンドを試しました:

print 'clock=$(prtconf -s | awk '{print $4,$5}')' > test.txt

test.txtで記述された出力は私に与えます:

clock=$(prtconf -s | awk {print ,})

" "を使用する場合 引用符:

print "clock=$(prtconf -s | awk '{print $4,$5}')"

それは私に直接与えます:

clock=3612 MHz

どうすればこれを解決できますか?

承認された回答:

一重引用符を使い続ける必要がありますが、必要なものを「別々に」出力に出力するか、二重引用符を使用してドル記号をエスケープする必要があります。

2番目のオプションの場合:

print "clock=$(prtconf -s | awk '{print $4,$5}')" > test.txt

はじめに:

print 'clock=$(prtconf -s | awk '''{print $4,$5}''')' > test.txt

(それは'text' 次に、一重引用符をエスケープしました' 次に'other text' 。)

完全を期すために、printに注意してください。 バックスラッシュ文字のエスケープシーケンスを展開します(印刷する文字列にはバックスラッシュが含まれていないため、これは問題ではありません)。これを回避するには、print -rを使用します 。


Linux
  1. Linuxでスペースと特殊文字を含むファイル名を操作する方法

  2. 2つのパターンの間(およびそれを含む)の線を印刷しますか?

  3. 各50行から15行目と25行目を印刷する方法は?

  1. 特殊文字でSedを使用していますか?

  2. In Echo {a..z}では特殊文字は何を表していますか?

  3. bash の文字列からすべての特殊文字と大文字と小文字を削除します

  1. Linuxで特殊文字を入力するには?

  2. 名前に特殊文字を含むファイルでの find および tar の使用

  3. man ページを開き、1 つのコマンドで文字列を検索する