我有一个bash代码,我需要列出路径的文件并保存在文件
processVerification(){
ls $1 > testFiles
}
文件夹中有文件
transaction-2012-01-20.csv
transaction-2012-01-21.csv
transaction-2012-01-22.csv
transaction-2012-01-23.csv
transaction-2012-01-24.csv
transaction-2013-01-24.csv
transaction-2013-02-24.csv
,当我调用processVerification文件夹=/home/文件夹/事务- 2012 *命令= "猫"processVerification $folder $command
$ cat testFiles
我只有transaction2012-01-20 .csv,我需要所有的文件。
但是我只需要2012年的事务,我创建processVerification,因为我需要通过50个不同的文件夹,该命令是因为在一些文件夹中我有。csv,而在其他文件夹中我有。csv。Bz2和其他的。csv.gz
和每个文件夹中的文件是不同的
您编辑了您的帖子,现在错误是有意义的。当你像这样调用processVerification时:
processVerification /home/folder/transactions-2012*
将所有的transaction -2012*文件传递给processVerification(),但在该函数中只查看第一个参数。试着这样来查看所有的参数:
processVerification(){
ls "$@" > testFiles
}
您可以使用ls -1
并将其管道连接到grep
。
processVerification() {
ls -1 | grep 'transaction-2012' > testFiles
}
你的问题是,你正在调用processVerification与错误的参数。你应该这样做:
processVerification /home/folder/
:
processVerification /home/folder/transactions-2012*