1

私はbashスクリプトで次のことを試みています:

COUNT=`cat "$NEWLIST" | wc -l | awk \' { print $1 } \` `

NEWLIST は、ファイルのリストを 1 行に 1 つずつ含む文字列です。しかし、私はこのエラーが発生します:

command substitution: line 74: unexpected EOF while looking for matching `''

なぜそれが失敗するのですか?ネストされたバッククォートを使用するにはどうすればよいですか?

(基本的に、wcの結果から空白を取り除こうとしていますが、とにかくネストされたバッククォートの使用方法も知りたいです)

4

3 に答える 3

8

$()これが、バックティックの代わりに使用する必要がある理由の1つです。

catまた、またはAWKの必要はありません。

COUNT=$(wc -l < "$NEWLIST")
于 2011-03-22T01:04:45.270 に答える
2

その 2 番目の「エスケープされたバッククォート」は、最初のものと同様に、実際には一重引用符である必要があります。また、$1そこに注意してください。

于 2011-03-21T23:24:13.387 に答える
2

' と ` を混在させています

COUNT=`cat "$NEWLIST" | wc -l | awk ' { print $1 } ' `
于 2011-03-21T23:24:38.687 に答える