Linuxによるグローバルポジショニング

Linuxによるグローバルポジショニング

名前に2つの数字を含むファイルのみをリストする方法は?

これで、ls *[0-9]*[0-9]*名前に4桁の別のファイルが表示され、間違っているようです。

2文字で名前が付けられたtxtファイルのみをリストする方法は?

私はこれをしましたが、ls ??.txt名前が文字のファイルのみをリストする方法がわかりません。

バッシュを使っています。

答え1

*[0-9]*[0-9]*アスタリスクは何でも、より多くの文字と一致することができます。このようなものには1234.txt2つの数字があります。たとえそれが英語で表現する一般的な方法ではありませんが、言葉です。

アスタリスクを置き換えるには、「数字以外の文字数」と一致する必要があります。これは通常のグロブでは実行するのが難しいです。ただし、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

関連情報