cuốn sách gpt4 ai đã làm

linux - Cần tập lệnh bash để loại bỏ phiên bản ở dạng nhị phân và so sánh với phiên bản cơ sở dữ liệu

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 05:58:42 25 4
mua khóa gpt4 Nike

Đã thử thiết lập tập lệnh bash để tìm các phiên bản ở dạng nhị phân, tất cả các phiên bản đều được bao gồm nên tôi đoán tôi phải xóa AUDIT_TRAIL_#_##_A-Z,1-9

Đó là tất cả những gì tôi đã đề xuất cho đến nay

#!/bin/bash
echo tìm kiếm các tập tin fmx AUDIT_TRAIL CHO PHIÊN BẢN MẪU
cho tập tin trong `/bin/ls *.fmx`
do
current_release=`strings $file |sed "s/\"AUDIT_TRAIL/NOTNEEDED/" |grep -i "AUDIT_TRAIL_8" |sed "s/AUDIT\_TRAIL\_/AUDIT\-TRAIL /" |sed "s/\_/ \./g" |sed "s/\.[AZ,az]/\.00/" |awk '{print chất nền($0,0,18)}' |awk '{print $2}'`
biểu mẫu xuất=$(echo "$file" | cut -f1 -d'.')
import dbform=`echo $form |awk '{print toupper($0)}'`
echo "FORMNAME" $form
sqlplus -s /nolog <<>
kết nối hệ thống/xxx@xxxxx
bật tiếng vang
bất cứ khi nào oserror thoát 88
bất cứ khi nào sqlerror thoát 1
hình thức ống chỉ.lst
chọn GURAOBJ_CURRENT_VERSION từ bansecr.GURAOBJ trong đó GURAOBJ_OBJECT = '$dbform';
tắt máy
ra
EOF
echo $file $current_release
xong

输出

bash-4.1$ ./find_current_release_fmx_db.shl                                                                                                                                                             
+ ./find_current_release_fmx_db.shl
./find_current_release_fmx_db.shl: dòng 1: !/bin/bash: Không có tệp hoặc thư mục như vậy
tìm kiếm tệp fmx AUDIT_TRAIL CHO PHIÊN BẢN MẪU
mẫu FORMNAME

từ cơ sở dữ liệu

GURAOBJ_CU
----------
8.11.2

peaem.fmx

từ bảng được biên dịch

8.0 8.0 8.0.00 8.1.0. 8.2.00 8.2.00 8.3 8.4 8.7.1 8.7.1 8.7.1. 1. 8.8.1. **MỘT TÔI CẦN 8.11.2** 8.11.2 8.1.0. 8.8.0. 8.7.1. 8.11.2 8.0.00 8.2.00 8.0 8.3 8.4 8.8.1.

sản lượng dự kiến

8.11.2

任何帮助将不胜感激

câu trả lời hay nhất

Hãy bắt đầu bằng cách sắp xếp gọn gàng tập lệnh, không sử dụng quá nhiều đường dẫn và lệnh, làm cho nó mạnh mẽ hơn, v.v.:

#!/bin/bash
printf 'đang tìm kiếm các tập tin fmx AUDIT_TRAIL CHO PHIÊN BẢN MẪU\n'
cho tập tin ở dạng *.fmx
do
current_release=$(strings "$file" | awk '')
form="${file%%.}"
dbform="${form ^^}"
printf 'FORMNAME %s\n' "$form"
sqlplus -s /nolog <<>
kết nối hệ thống/xxx@xxxxx
bật tiếng vang
bất cứ khi nào oserror thoát 88
bất cứ khi nào sqlerror thoát 1
hình thức ống chỉ.lst
chọn GURAOBJ_CURRENT_VERSION từ bansecr.GURAOBJ trong đó GURAOBJ_OBJECT = '$dbform';
tắt máy
ra
EOF
printf '%s %s\n' "$file" "$current_release"
xong

Bây giờ điều chúng ta cần biết làNó là gì vậy? Trong lệnh awk thì phải như vậy. Tôi không thể tìm ra điều đó từ chuỗi lệnh ống của bạn vì chúng dường như đang thêm nội dung rồi xóa lại và thoát những thứ không cần thoát, v.v., nhưng một khi bạn hiển thị strings Từ đầu ra mẫu, bạn muốn tập lệnh awk chuyển đổi thành gì thì rõ ràng.

Về linux - cần một tập lệnh bash để loại bỏ phiên bản ở dạng nhị phân và so sánh với phiên bản cơ sở dữ liệu, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/30243851/

25 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress