Saya mengalami musibah datang dari latar belakang MS-DOS - tetapi setidaknya itu membuat saya menghargai betapa jauh lebih kuatnya Linux. Saya telah berusaha untuk mendapatkan Linux-Fu secara normal, tetapi ada beberapa hal yang dapat dilakukan dengan DOS yang saya tidak yakin bagaimana melakukannya dengan paling mudah dengan Linux:
Mengganti Nama Banyak File - Menggunakan Dua Wildcard
c:\> dir
Directory of c:\
file1.txt
file2.txt
file3.txt
file4.txt
c:\>rename *.txt *.bak
c:\> dir
Directory of c:\
file1.bak
file2.bak
file3.bak
file4.bak
Saya tahu saya bisa menggunakan di find -exec
sini tetapi apakah mungkin untuk menggunakan sintaks yang lebih pendek - mungkin mv
dengan beberapa flag khusus atau sintaks? Saya kira kunci untuk ini adalah wildcard kedua *
karena linux seharusnya tidak memiliki masalah dengan yang pertama (yaitu saya tahu cara memilih file yang ingin saya ganti namanya menggunakan wildcard)
Mengganti Nama File Tunggal - Menggunakan Satu Wildcard
c:\> dir
Directory of c:\
file1.txt
c:\>rename file1.txt *.bak
c:\> dir
Directory of c:\
file1.bak
Ini akan sangat membantu ketika mengganti nama nama file yang panjang dan sulit. Saya pikir mungkin saya bisa menggunakan mv file1.txt $1.bak
untuk berakhir dengan file1.txt.bak
yang juga dapat diterima tetapi saya tidak yakin Anda dapat referensi $1
inline parameter dengan perintah shell. Sekali lagi dalam kasus khusus ini hanya nyaman bagaimana ms-dos memastar *
wildcard untuk digunakan sebagai semacam pencocokan penangkapan / penggantian untuk bagian dari nama file.
Memfilter Daftar Direktori dengan Wildcard
c:\> dir
Directory of c:\
file1.txt
file2.txt
file3.txt
file4.txt
text.txt
\temp (directory)
c:\> dir file*
Directory of c:\
file1.txt
file2.txt
file3.txt
file4.txt
c:\> t*
Directory of c:\
text.txt
\temp (directory)
Saya tidak yakin apa sintaks yang tepat untuk melakukan itu ls
, atau apakah itu mungkin. Jika saya melakukan sesuatu seperti ls t*
itu akan muncul kembali ke direktori dimulai dengan t
. Solusi saya telah menggunakan find . --max-depth 1 -iname "t*"
atau sesuatu seperti ls -al | grep t
- tidak ada yang sesingkat dan sesederhana dir t*
itu.
Akhirnya, saya tahu saya dapat mengatur alias untuk membuat perintah-perintah panjang ini lebih pendek, tetapi saya ingin mempelajari beberapa linux-fu out-of-the-box untuk melakukan hal-hal ini karena kadang-kadang Anda terhubung ke sistem jarak jauh atau bekerja pada mesin baru.
Jadi bagaimana saya bisa mv
dan ls
file dengan cara yang sama seperti yang saya gunakan dir
dan rename
file?