Apa yang setara dengan Unix (QNX) dari baris perintah Windows "dir / s / b"

9

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 /smenjadi ls -R, tetapi bagaimana cara mendapatkan yang /Bsetara dengan format output path?

jxramos
sumber
6
Jawabannya sama dengan di pertanyaan lain, kecuali Anda meninggalkan -nameopsi, sehingga tidak menyaring berdasarkan nama.
Barmar

Jawaban:

14

finddapat memberikan semua yang Anda butuhkan. Ini memiliki overhead yang sedikit lebih karena melakukan lebih banyak tes daripada lssendirian, 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 menghapus C:awalan. Kemudian urutkan daftar dan gunakan diffuntuk melihat perubahan. sedakan menjadi temanmu di sini. Tindak lanjuti dengan komentar jika Anda menginginkan ini juga.

Ed Neville
sumber
18

Tidak ada bendera lsyang akan melakukan apa yang Anda minta, tetapi Anda dapat mencapainya dengan beberapa alat lain, yang paling mudah (mungkin) find:

find .
Bruno9779
sumber
2
atau cukup find Ekspresi default adalah.
user4556274
3
Benar. Pokoknya saya pikir itu adalah praktik yang baik untuk memasukkan default di posting Q / A, karena mereka mungkin tidak jelas bagi semua orang.
Bruno9779
19
@ user4556274 Mungkin untuk GNU find, tetapi implementasi lain mengikuti standar POSIX dan memerlukan operan direktori.
Kusalananda
5

pohon -jika

-i untuk tidak membuat -f untuk mencetak jalur

Tamu
sumber
Menarik, tunjukkan beberapa keluaran konsol ke jawaban Anda; Saya tidak dapat menemukan perintah itu dari kotak QNX saya-bash: tree: command not found
jxramos
Saya menggunakan ponsel saya jadi tidak bisa mengujinya, tetapi ada di halaman manual di linux.die.net/man/1/tree
Stephen C
1
Ini dari mama.indstate.edu/users/ice/tree , dan dikemas treedalam sejumlah distribusi Linux.
deltab
treeadalah alat pilihan saya untuk memeriksa struktur direktori, tetapi tidak diinstal secara default pada kebanyakan sistem.
Bruno9779
5

Untuk mendapatkan awalan jalur aktual (dengan asumsi itu penting), lakukan

find "$(pwd)"
Joshua
sumber
Jika Anda menggunakan shell mirip bash, tidak perlu menjalankan perintah eksternal; find "${PWD}"Seharusnya cukup. Namun, tidak yakin apakah itu berfungsi pada QNX.
CVn
@ MichaelKjörling: Baik jika Anda menginginkan jalur symlink daripada jalur yang sebenarnya ...
Joshua
Benar, itu mungkin tergantung pada semantik yang tepat dari masing-masing. Jangan lupa bahwa setidaknya GNU bash memiliki built-in pwddan juga eksternal / bin / pwd, yang juga berbeda dalam cara mereka menangani direktori yang dijangkau oleh symlink.
CVn