Tôi có một thư mục với các file mà trông như thế này:BASH: Tìm tên tập tin được đánh số cao nhất trong một thư mục nơi tên bắt đầu bằng chữ số (ls, sed)
001_something.php 002_something_else.php
004_xyz.php 005_do_good_to_others.php
tôi rốt cuộc muốn tạo ra một mới, trống PHP tệp có tên bắt đầu bằng số tiếp theo trong chuỗi.
LIST=`exec ls $MY_DIR | sed 's/\([0-9]\+\).*/\1/g' | tr '\n' ' '`
Mã trước mang lại cho tôi một chuỗi như thế này:
LIST='001 002 004 005 '
Tôi muốn lấy mà 005, tăng một, và sau đó sử dụng con số đó để tạo ra tên tập tin mới. Làm thế nào để tôi làm điều đó trong BASH?
Đây có phải là để chạy như một phần của một ứng dụng web? Nếu máy chủ web chấp nhận nhiều yêu cầu đồng thời (hầu hết là làm), bạn sẽ bảo vệ chống lại điều kiện chủng tộc như thế nào khi các tiến trình A và B thực hiện kiểm tra đồng thời và sau đó tạo một tệp có cùng số? – telent
không có điều này là một phần của một kịch bản trình bao để mô phỏng công cụ 'di chuyển' của đường ray, cho một ứng dụng php sử dụng triển khai thực hiện bước đầu đỏ của mẫu di chuyển cơ sở dữ liệu. – Jake