Pertanyaan yang diberi tag bash

9
Hapus file tanpa nama string

Saya ingin menghapus file yang tidak memiliki string '999' (tanpa '') dalam namanya. Saya telah mencoba: grep -vlr 999 . | xargs -0 rm -f -- find . -print0 | grep --null-data -v 999 | xargs -0 rm -- Tapi tidak satu pun dari mereka yang berfungsi. Saya menggunakan macOS Sierra, dengan bash:...

9
Bangun perintah secara dinamis

Saya sedang mengerjakan skrip dan saya perlu membangun tarperintah secara dinamis. Berikut adalah dua contoh untuk menggambarkan apa yang saya coba lakukan: #!/bin/bash TAR_ME="/tmp" EXCLUDE=("/tmp/hello hello" "/tmp/systemd*" "/tmp/Temp*") _tar="tar "`printf -- '--exclude="%s" '...

9
Bash sort array menurut panjang elemen?

Diberikan array string, saya ingin mengurutkan array sesuai dengan panjang setiap elemen. Sebagai contoh... array=( "tiny string" "the longest string in the list" "middle string" "medium string" "also a medium string" "short string" ) Harus menyortir ke ... "the longest string in the...

9
bash: echo: write error: Panggilan sistem terputus

Saya ingin membuat daftar yang diurutkan dengan semua angka 8-digit - dari 00000000 hingga 99999999. Saya mengetikkan shell: f() { while IFS="" read -r line; do for i in {0..9}; do echo "$line$i"; done; done } echo | f | f | f | f | f | f | f | f | tee result.txt | wc -l jawabannya adalah...

9
Tambahkan baris terakhir stdin ke seluruh stdin

Pertimbangkan skrip ini: tmpfile=$(mktemp) cat <<EOS > "$tmpfile" line 1 line 2 line 3 EOS cat <(tail -1 "$tmpfile") "$tmpfile" Ini berfungsi dan menghasilkan: line 3 line 1 line 2 line 3 Katakanlah sumber input kami, alih-alih menjadi file aktual, malah stdin: cat <<EOS |...

9
Menetapkan opsi bash dalam perintah majemuk

Saya telah menemukan bahwa pengaturan extglobopsi shell di dalam senyawa majemuk menyebabkan kegagalan anti-gumpalan berikutnya. Apakah opsi shell harus diatur di luar perintah majemuk? Saya tidak melihat indikasi persyaratan seperti itu di halaman bash man. Sebagai contoh, skrip berikut berfungsi...

9
Kinerja loop vs ekspansi

Perlu saran ahli tentang perbandingan di bawah ini: Segmen kode menggunakan loop: for file in `cat large_file_list` do gzip -d $file done Segmen kode menggunakan ekspansi sederhana: gzip -d `cat large_file_list` Yang mana yang lebih cepat? Harus memanipulasi set data