28. tháng 2 2025
Khi nộp đơn đăng ký bản quyền phần mềm, bạn cần cung cấp 60 trang mã nguồn hoặc 3.000 dòng trò bắn cá mã. Việc sao chép từng tệp một cách thủ công là vô cùng mất thời gian, đặc biệt với các dự án Android có cấu trúc thư mục phức tạp. Điều này không chỉ tốn nhiều công sức mà còn dễ gây sai sót.
Để tối ưu hóa quá trình này, tôi đã viết một kịch bản shell tự động để trích xuất mã nguồn và lưu vào một tệp văn bản (.txt). Sau đó, bạn chỉ cần sao chép toàn bộ nội dung từ tệp này vào Word để hoàn thành tài liệu yêu cầu.
Dưới đây là ví dụ cho dự án Android Kotlin:
gen_code.sh
#!/bin/bash
set -e # Hoặc sử dụng "set -o errexit" để dừng khi gặp lỗi.
set -x # Hoặc dùng "set -o xtrace" để in câu lệnh trước khi thực thi.
IFS=$'\n'; set -f
for filepath in $(find ./ -name '*.xml' -or -name '*.kt'); do
echo $(basename "$filepath")>>output.txt;
echo "">>output.txt;
cat $filepath>>output.txt;
echo "">>output.txt;
echo "">>output.txt;
done
unset IFS; set +f
chmod +x gen_code.sh
./gen_code.sh