質問: 改行区切りのテキストを1行ずつ読み込むシェルを作りたい awkにて改行区切りのテキストファイルを読み込みテキストファイルに記述されているファイルを別のフォルダへコピーしたいと考えております。 file1=コピー対象ファイル名が書かれたテキストファイル dir1=コピー先ディレクトリ cat $file1 |gawk '{print "cp",$file1,$dir1}'|sh 上記をシェルでで実行しようとすると下記のようなエラーで帰ってきてしまいます。 ⇒ cp: `****' と `****' は同じファイルです よい方法をご存知でしたらぜひ御教授いただけませんでしょうか。コピーが目的ですので別のコマンドでも結構です。
回答: >cat $file1 |gawk '{print "cp",$file1,$dir1}'|sh gawk で処理した結果を sh に食わせないでファイルに落として中身を 確認してみて、期待通りのコマンドラインになってますか? gawkスクリプトの $file1 って、ファイルの名前そのものであって ファイル中に記述されている名前ではないんじゃないでしょうか。