UNIX/SED - ファイル名のワイルドカード文字

UNIX/SED - ファイル名のワイルドカード文字

ファイル名: file_201909091143.csv

「ファイル」で始まるすべてのファイルを抽出するには、ワイルドカードをどのように追加しますか?

#!/bin/bash
#空行
sed -i '/^$/d' ファイル? .csv #ワイルドカードがありません

ls を使用してディレクトリを更新します。

drwxr-x--- ユーザー 2人 user324 8月29日 16:27 0085
-rw-r------ ユーザー 1人 ユーザー 168 9月3日 10:03 file.sh
-rw-r------ ユーザー 1人 ユーザー 5779 9月3日 10:57 file.sql
-rw-r------ ユーザー 1人 user 726 9月4日 15:07 分割_script.sh
-rw-r------ ユーザー 1人 ユーザー 51 9月4日 16:13 tst.sh
-rw-r----- ユーザー 1人 ユーザー 21205 9月4日 16:20 file_20190808134503.csv

スクリプトは次のようにトリガされます。

bash tst.sh

ベストアンサー1

@msp9011で述べたように、複数の文字を一致させるには、?を*に置き換える必要があります。

ワイルドカードワイルドカードの bash 相互浸透について議論します。一つを教えていただけますか? 「すべての単一文字を表すことができます。」および * "任意の文字数を表すことができます。"

$ cat run.sh 
#!/bin/bash
#cleans blank rows
sed -i '/^$/d' file*.csv
$ cat file_201909091143.csv 
line1

line3
$ ./run.sh 
$ cat file_201909091143.csv 
line1
line3

おすすめ記事