関数/スクリプトにglob式を渡す

関数/スクリプトにglob式を渡す

次のスクリプトは、csv最初のパラメーターで指定されたパス内の複数のファイルを2番目のパラメーターで指定された単一のcsvファイルにリンクする必要があります。

#!/bin/zsh
set -x
set -v
args=("$@");
globbing_pattern=${args[1]}
output_file=${args[2]}

# First the headers:
head -n1 ${globbing_pattern}([1,1]) > $output_file

# Now concatenate everything:
find ${globbing_pattern} -print0 | xargs -0 cat >> $output_file

以下を使用してこのスクリプトを呼び出したいと思います。

my_script '/some/path/*.csv' output.csv

しかし、うまくいきません。私は得る:

find: /some/path/*.csv: No such file or directory

なぜ?

ベストアンサー1

検索: /some/path/*.csv:

sytanxが間違っているようです。

特定のフォルダツリーで.csvで終わるすべてのファイルを見つけるには:

find /some/path -name "*.csv"

したがって、ファイルの場所と名前を分離する必要があります。

おすすめ記事