Tôi chỉ muốn đọc 8 ký tự đầu tiên của tệp văn bản và lưu nó vào biến trong bash. Có cách nào để làm điều này bằng cách sử dụng chỉ bash?đọc 8 ký tự đầu tiên của tệp văn bản với bash
Trả lời
Bạn có thể yêu cầu head
để đọc một số byte. Đối với trường hợp cụ thể của bạn:
$ head -c 8 <file>
Hoặc trong một biến:
foo=$(head -c 8 <file>)
Bạn có thể sử dụng một mảng trong bash và chỉ chọn các ký tự đầu tiên. Hướng dẫn Script Bash nâng cao có các ví dụ tốt về cách sử dụng các mảng.
trong bash
help read
bạn sẽ thấy rằng bạn có thể:
read -r -n 8 variable < .the/file
Nếu bạn muốn đọc 8 đầu tiên, độc lập với các máy tách,
IFS= read -r -n 8 variable < .the/file
Nhưng tránh sử dụng
.... | while IFS= read -r -n 8 variable
như, trong bash, các bộ phận sau một "|" được chạy trong một subshell: "biến" sẽ chỉ được thay đổi trong subshell đó, và nó là giá trị mới bị mất khi returing đến shell hiện tại.
lệnh cuối cùng đặt 'IFS' thành' '' 'chỉ trong khoảng thời gian của lệnh sau (ở đây,' read') –
Phiên bản 4 của 'bash' giới thiệu tùy chọn' -N', hoạt động như '-n 'nhưng cũng bỏ qua các dấu phân tách. – chepner
Tôi sử dụng bash 2.x tại nơi làm việc ^^ (nhưng tốt để biết) –
- 1. Đọc từ ký tự tệp văn bản theo ký tự
- 2. Remove ký tự đầu tiên của một chuỗi trong Bash
- 3. bash: đọc văn bản từ một chuỗi một ký tự cùng một lúc, với khoảng trắng
- 4. bash thay thế ký tự đầu tiên trong mỗi dòng
- 5. Thay dòng đầu tiên của tệp văn bản trong Java
- 6. Cách đọc từ một tệp văn bản, ký tự theo ký tự trong C++
- 7. html5 fileReader - làm thế nào để chỉ đọc N ký tự đầu tiên của một tệp?
- 8. Lệnh batch của Windows để đọc dòng đầu tiên từ tệp văn bản
- 9. Khi tôi nhập tệp văn bản vào R, tôi nhận được một ký tự đặc biệt được nối vào giá trị đầu tiên của cột đầu tiên
- 10. Xóa ký tự đầu tiên của chuỗi
- 11. Đọc một Tệp Văn bản trong Windows 8
- 12. Cách đọc dòng đầu tiên của một tệp
- 13. Đọc dòng đầu tiên của tệp văn bản rồi chuyển các dòng sau vào vòng lặp để đọc
- 14. Kiểm tra dòng cho các ký tự không in được trong khi đọc tệp văn bản
- 15. Đọc tệp văn bản có ký tự không phải ASCII bằng mã hóa không xác định
- 16. Cách lấy n ký tự đầu tiên của một biến trong Bash?
- 17. Chỉ đọc một vài dòng văn bản đầu tiên từ một tệp
- 18. Đọc các dòng từ một tệp văn bản nhưng bỏ qua hai dòng đầu tiên
- 19. Ký tự đầu tiên viết hoa Lua
- 20. Nối các tệp văn bản với dòng lệnh của Windows, thả các dòng đầu tiên
- 21. Đọc dòng đầu tiên của một tệp trong Ruby
- 22. Erlang đọc từ tệp 5 hàng đầu tiên
- 23. Đọc một ký tự tệp theo ký tự trong C
- 24. Cách lấy dòng văn bản đầu tiên của tệp Matlab M?
- 25. Đọc các ký tự không phải ASCII từ một tệp văn bản
- 26. Tệp hàng loạt để xóa 3 dòng đầu tiên của một tệp văn bản
- 27. Đọc các byte đầu tiên của một tệp
- 28. Cách lấy ký tự đầu tiên của chuỗi trong SQL?
- 29. nhân vật đầu tiên của việc đọc từ tập tin văn bản: ï »¿
- 30. Cố gắng truy xuất 5 ký tự đầu tiên từ chuỗi trong lỗi bash?
Điều này thực sự chỉ là một nửa câu trả lời. Làm thế nào bạn sẽ chọn chỉ 8 ký tự đầu tiên từ mảng? – chepner
echo $ {arrayZ [@]: 1: 2} # hai ba Nó nằm ngay trong ABS. Cấp, hơi buồn tẻ. Thay thế là sử dụng vòng lặp. Giải pháp BTW ở trên bằng cách sử dụng "đầu" không chỉ sử dụng nội trang bash. "head" là một chương trình bên ngoài. – mrkafk