名前に2つの数字を含むファイルのみをリストする方法は?
これで、ls *[0-9]*[0-9]*
名前に4桁の別のファイルが表示され、間違っているようです。
2文字で名前が付けられたtxtファイルのみをリストする方法は?
私はこれをしましたが、ls ??.txt
名前が文字のファイルのみをリストする方法がわかりません。
バッシュを使っています。
答え1
で*[0-9]*[0-9]*
アスタリスクは何でも、より多くの文字と一致することができます。このようなものには1234.txt
2つの数字があります。たとえそれが英語で表現する一般的な方法ではありませんが、言葉です。
アスタリスクを置き換えるには、「数字以外の文字数」と一致する必要があります。これは通常のグロブでは実行するのが難しいです。ただし、kshスタイルの拡張グローブを使用すると、これを行うことができます。たとえば、Bashでは次のようになります。
#!/bin/bash
shopt -s extglob
ls *([^0-9])[0-9]*([^0-9])[0-9]*([^0-9])
(代替は、一致するファイル名のリストを繰り返して*[0-9]*[0-9]*
一致するファイル名をフィルタリングすることです*[0-9]*[0-9]*[0-9]*
。どちらもビューに適していません。)
2文字だけの.txt
後ろに[[:alpha:]][[:alpha:]].txt
。