この行で「wc -l」をどのように使用できますか?シェルスクリプトの行数を計算し、カウント値のみを出力します。

この行で「wc -l」をどのように使用できますか?シェルスクリプトの行数を計算し、カウント値のみを出力します。
#!/bin/bash

/abc/qwerty/AAAooo/testing/CBA_Car/Config/Test_Ctr.env

OUTPUT_FILE_NAME=$1
DATE=$2

cp /abc/section/AAAooo/CBACenter/slack_2010-05-1.txt ${OUTPUT_FILE_NAME}

このスクリプトでカウントを実行し、カウントのみを出力するにはどうすればよいですか?どういうわけか、このシェルスクリプトの行数を計算し、数値を出力できるはずです。私の考えでは、次のことを行う必要があるかもしれません。

cat filename.txt | wc -l

しかし、構文が正しく機能するように正しく入力する方法がわかりません。引き続きエラーが発生します。次の行で計算を実行する必要があります。

cp /abc/section/AAAooo/CBACenter/slack_2010-05-1.txt ${OUTPUT_FILE_NAME}

ベストアンサー1

cp(通常)何も出力しません。を使用すると、cp -vコピーされる各ファイルの名前が出力されますが、内容は出力されません。

UNIXに似た環境は、正確に1つのタスクを実行するツールを使用するのに非常に熟練しており、これをうまく実行することがよくあります。ファイルの行数の計算(作業wc)は、ファイルをある場所から別の場所にコピーするツールの範囲内ではありません(例:)cp

ファイルの行数を数えてコピーするには、これら2つの操作を別々に実行する必要があります。

$ cp /old/path/to/file /new/path/to/file
$ filelength="$( wc -l < /path/to/file )"

おすすめ記事