ファイルのセットを連結する必要があります。ディレクトリ構造は次のようになります。
root/features/xxx/multiple_files... -> root/xxx/single_file
私が書いたもの(そしてそれはうまくいきます):
for dirname in $(ls -d root/features/*|awk -F/ '{print $NF}');do;mkdir root/${dirname};cat root/features/${dirname}/* > root/${dirname}/final.txt;done
しかし、shシェルを介して同じことを実行すると
/bin/sh -c "for dirname in $(ls -d root/features/*|awk -F/ '{print $NF}');do;mkdir root/${dirname};cat root/features/${dirname}/* > root/${dirname}/final.txt;done"
それは私にエラーを与えます:
/bin/sh: -c: line 1: syntax error near unexpected token `201201000'
/bin/sh: -c: line 1: `201201000'
私のプロセスは、コマンドを実行する前に常に/ bin /sh-cを追加します。ここで何がうまくいかない可能性があるかについての提案はありますか?別の方法はありますか?私はこれに本当に長い時間を費やしましたが、あまり前進することはありませんでした!
編集:
`ls -d root/features/*|awk -F/ '{print $NF}'
戻り値
201201
201201000
201201001
201201002
201201003
201201004
201201005
201201006
201201007
201202000
201205000
201206000
201207000
201207001
201207002