kode skrip shell penjelasan "untuk loop"


-1

Adakah yang bisa menjelaskan untuk saya untuk apa loop ini digunakan, atau cara kerjanya?

for file in `ls *SC*`; do 
  for content in `cat $file `; do
    scid=`echo $file|awk -F'.' '{print $1}'`
    printf "%-10s%s\n" $scid $content
  done
done > text1

Apakah Anda menambahkan ** di awal dan akhir kode? Dan ini untuk bash di Linux?
Xen2050

tidak tanpa ** maaf kesalahan saya ketika saya mengubah ke format kode saya klik Bold sehingga ini muncul!
Mariwan

Ah, baiklah. Anda dapat mengedit & amp; perbaiki / ubah juga. Dan jika hanya untuk bash & amp; Linux Anda tidak memerlukan semua tag tambahan, itu bukan Unix, dan shell-script akan menjadi berlebihan
Xen2050

Jawaban:


-1

Kode ganjil, akan gagal jika nama file memiliki spasi, dan membagi file dengan spasi.

for file in `ls *SC*`; do # parses ls for files with SC in the name
    # - not the best way to do it (don't parse ls, fails if spaces in filename)
  for content in `cat $file `; do # copies file to $content, SEPARATED BY SPACES
    scid=`echo $file|awk -F'.' '{print $1}'` # cuts filename to first .(?)
    printf "%-10s%s\n" $scid $content # prints cut filename + content
  done
done > text1
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.