GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa menambahkan string ke awal setiap file dalam folder di bash?

Dan Anda dapat melakukannya menggunakan sed dalam 1 perintah tunggal juga

for f in *; do
  sed -i.bak '1i\
  foo-bar
  ' ${f}
done

Ini akan melakukan itu. Anda dapat membuatnya lebih efisien jika Anda melakukan teks yang sama untuk setiap file...

for f in *; do 
  echo "whatever" > tmpfile
  cat $f >> tmpfile
  mv tmpfile $f
done

Anda dapat melakukannya seperti ini tanpa loop dan cat

sed -i '1i whatever' *

jika Anda ingin mencadangkan file Anda, gunakan -i.bak

Atau menggunakan awk

awk 'FNR==1{$0="whatever\n"$0;}{print $0>FILENAME}' *

Linux
  1. Bagaimana Saya Dapat Mengubah Nama Banyak File Dalam Sebuah Folder?

  2. Tambahkan string awalan ke awal setiap baris

  3. Bagaimana cara menambahkan footer ke bagian bawah setiap halaman file postscript atau pdf di linux?

  1. Bagaimana Cara Mengganti String Dalam File?

  2. Bagaimana cara menambahkan baris baru ke akhir file?

  3. Cara menambahkan string tanggal ke setiap baris file log yang terus ditulis

  1. Bagaimana saya bisa menemukan semua ekstensi file yang berbeda dalam hierarki folder?

  2. Di Bash, bagaimana cara menambahkan string setelah setiap baris dalam file?

  3. Bagaimana saya bisa membuat file di setiap folder?