Pertanyaannya Apa yang setara dengan Linux dari DOS "dir / s / b filename"? datang dekat tetapi akhirnya memainkan operasi pencarian file untuk semua nama file yang disebutkan.
Namun saya ingin melakukan perbandingan isi direktori dengan direktori pada mesin Windows dan membandingkannya dengan direktori yang dibangun dengan cara yang sama pada kotak QNX . Saya ingin menjalankan perintah direktori enumerating pada kedua mesin, melakukan beberapa manipulasi file teks untuk mengkonversi karakter pembatas jalur dan drive root dan apa yang tidak membuatnya menjadi format yang kompatibel untuk perbedaan wawasan.
Saya dapat membuat manifes folder dari semua subdirektori dan file di dalamnya dir /b /s
, dan mendapatkan output yang diformat sebagai sekelompok jalur ...
c:\Temp>dir /b /s
c:\Temp\Subfolder1
C:\Temp\Subfolder1\File1.txt
C:\Temp\Subfolder1\File2.txt
...
Saya bisa melihat dir /s
menjadi ls -R
, tetapi bagaimana cara mendapatkan yang /B
setara dengan format output path?
-name
opsi, sehingga tidak menyaring berdasarkan nama.Jawaban:
find
dapat memberikan semua yang Anda butuhkan. Ini memiliki overhead yang sedikit lebih karena melakukan lebih banyak tes daripadals
sendirian, tetapi jika Anda ingin informasi jalur dalam output maka ini mungkin cara paling sederhana untuk mencapai itu.Jika Anda akan membandingkan dua sistem, maka Anda mungkin harus melakukan beberapa pengeditan teks terlebih dahulu dan bertukar
\
dengan/
, dan menghapusC:
awalan. Kemudian urutkan daftar dan gunakandiff
untuk melihat perubahan.sed
akan menjadi temanmu di sini. Tindak lanjuti dengan komentar jika Anda menginginkan ini juga.sumber
Tidak ada bendera
ls
yang akan melakukan apa yang Anda minta, tetapi Anda dapat mencapainya dengan beberapa alat lain, yang paling mudah (mungkin)find
:sumber
find
Ekspresi default adalah.
find
, tetapi implementasi lain mengikuti standar POSIX dan memerlukan operan direktori.pohon -jika
-i untuk tidak membuat -f untuk mencetak jalur
sumber
-bash: tree: command not found
tree
dalam sejumlah distribusi Linux.tree
adalah alat pilihan saya untuk memeriksa struktur direktori, tetapi tidak diinstal secara default pada kebanyakan sistem.Untuk mendapatkan awalan jalur aktual (dengan asumsi itu penting), lakukan
sumber
find "${PWD}"
Seharusnya cukup. Namun, tidak yakin apakah itu berfungsi pada QNX.pwd
dan juga eksternal / bin / pwd, yang juga berbeda dalam cara mereka menangani direktori yang dijangkau oleh symlink.