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 -execsini tetapi apakah mungkin untuk menggunakan sintaks yang lebih pendek - mungkin mvdengan 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.bakuntuk berakhir dengan file1.txt.bakyang juga dapat diterima tetapi saya tidak yakin Anda dapat referensi $1inline 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 mvdan lsfile dengan cara yang sama seperti yang saya gunakan dirdan renamefile?