Cara membalikkan file teks pada Windows


3

Bagaimana cara membalik konten file .txt sambil mempertahankan baris kosong?

Sebagai contoh,

text one

text two
text three

text four


text five


text six

akan menjadi

text six


text five


text four

text three
text two

text one

Lebih disukai dengan konsol Windows atau juga kode sumber untuk dikompilasi dari ke suatu aplikasi. Saya memiliki Windows 7.


(Membalas posting saya sendiri karena saya tidak dapat mengirim jawaban dengan reputasi <10. Terima kasih atas balasan Anda!) Saya menemukan sesuatu: tac, yang merupakan bagian dari CoreUtils untuk Windows . Saya baru saja mengujinya dan itu berfungsi dengan baik untuk saya.
AD


1
Saya bahkan memeriksa dua kali bahwa saya tidak di http://codegolf.stackexchange.com/
VL-80

Tag dihapus dari pertanyaan Anda karena suatu alasan. Tag ini tidak berguna dan tidak menambah nilai pada pertanyaan Anda.
Der Hochstapler

Beberapa jawaban di Balik atau urutan terbalik di Notepad ++ seharusnya ada di sini.
Peter Mortensen

Jawaban:


6

Ini dapat dilakukan dengan mudah dengan PowerShell tanpa alat tambahan:

$x = Get-Content -Path data.txt; Set-Content -Path data.txt -Value ($x[($x.Length-1)..0])


1

Contoh PowerShell lainnya. Ini hanya menunjukkan pembalikan. Akan sepele untuk mengekspor $ x ke file.

$x = Get-Content -Path .\abc.txt
[array]::Reverse($x)
$x

0

Saya akan membaca file dalam urutan terbalik (menggunakan skrip, program, dll.) Dan menulisnya ke file 'baru' sehingga menghindari pengurutan. Kemudian, hapus file 'lama' dan ganti nama yang 'baru' menjadi yang 'lama'.


0

Dalam kebanyakan kasus, pengurutan tipikal tidak akan mempertahankan garis kosong Anda, tetapi sebaliknya akan menempatkan semuanya bersama di suatu tempat dalam pengurutan Anda. Jika itu saya, saya hanya akan menyalin dan menempelkan baris di Excel dan mengurutkan di sana jika itu hanya satu hal. Kalau tidak, Anda akan masuk ke beberapa scripting yang sangat mewah untuk melakukan ini (tapi hei, itu mungkin dilakukan).

Adapun skrip saya pertama-tama memiliki beberapa kode yang mencari baris kosong dan menyimpan lokasi itu ke array. Lalu saya akan mengurutkan sisa data, baik menggunakan beberapa metode pengurutan bawaan atau membuat kode "semacam gelembung" saya sendiri. Setelah diurutkan, perkenalkan kembali jeda baris di lokasi yang diberikan dan Anda akan ditetapkan.


0

Ini adalah sesuatu yang asli - skrip VBScript (.vbs).

Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
infile = Wscript.Arguments(0)
Set objTextFile = objFSO.OpenTextFile (infile, ForReading)
strText = objTextFile.ReadAll
objTextFile.Close
arrText = Split(strText, vbCrLf)
for l = ubound(arrText)-1 to 0 step -1
   wscript.echo arrText(l)
Next

Simpan sebagai (mis.) Revfile.vbs dan jalankan dengan menggunakan mesin cscript. Seperti yang tertulis, ini menggemakan output ke konsol. Untuk menulis baris terbalik ke file, gunakan >operator (redirection) seperti ini:

cscript //nologo revfile.vbs "input.txt" > "output.txt"

Gunakan tanda kutip di sekitar nama file / jalur jika mereka memiliki spasi.

C:\Test>type input.txt
apple
bear
cat
dog
egg
fog
gas
hip

ink
joe
kilo

C:\Test>type output.txt
kilo
joe
ink

hip
gas
fog
egg
dog
cat
bear
apple
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.