Dalam shell linux, saya ingin memastikan bahwa set file tertentu semua dimulai dengan <?
, memiliki string yang tepat dan tidak ada karakter lain di awal. Bagaimana saya bisa grep atau menggunakan yang lain untuk mengekspresikan "file diawali dengan"?
Sunting: Saya wildcarding ini, dan head
tidak memberikan nama file pada baris yang sama, jadi ketika saya ambil itu, saya tidak melihat nama file. Juga, "^<?"
sepertinya tidak memberikan hasil yang benar; pada dasarnya saya mendapatkan ini:
$> head -1 * | grep "^<?"
<?
<?
<?
<?
<?
...
Semua file sebenarnya bagus.
command-line
bash
grep
pengguna13743
sumber
sumber
find
find
juga dapat mengembalikan hanya file biasa secara langsung untuk memulai pipa.read
alih-alihhead
juga:for file in *; do [ -f "$file" ] || continue; read < "$file"; [[ "$REPLY" =~ ^\<\? ]] || echo "$file"; done
Lakukan
grep
:Singkirkan nama file:
sumber
Anda dapat menggunakan awk untuk ini:
sumber
Kecuali untuk file kosong, skrip Perl ini tampaknya berfungsi:
Saya tidak segera yakin bagaimana menangani file kosong; Saya akan tergoda untuk memperlakukan mereka sebagai kasus khusus yang terpisah:
sumber
Coba ini
Ini akan mendapatkan daftar setiap file yang diakhiri dengan PHP, lalu loop melalui itu. menggemakan nama file dan kemudian mencetak baris pertama file. Saya baru saja memasukkan
akan memberi Anda output seperti:
maka Anda dapat menempelkan grep normal di akhir untuk menyingkirkan apa yang ingin Anda lihat dan menemukan pengecualian saja
keluaran:
sumber
for x in *.php;do echo $x \"
kepala -n1 $ x\";done
Bash 4.0
sumber
harus melakukan apa yang Anda minta.
sumber
cat
Penggunaan kompulsif ,head -1 file.txt | grep "^<?"
sudah cukup.command
akan mengambil file sebagai argumen. Mungkin tidak sepenuhnya diperlukan, tapi saya tidak akan mengeluarkannya :)ini:
memberi Anda sesuatu seperti ini:
setiap file yang tidak mengandung pola Anda akan "ditandai" dengan "1". Anda dapat bermain dengan itu sampai sesuai dengan kebutuhan Anda.
sumber
head -1 "$i" | grep '^<?' || echo "$i"
yang hanya akan mencetak nama file jika bermasalah.Biarkan aku mencoba ini
tidak ada yang mengatakan wak tidak tersedia :-)
sumber