Score:0

สคริปต์ Bash การจดจำเวอร์ชันการถ่ายโอนข้อมูล PostgresSQL

ธง de

ฉันมักจะสร้างฐานข้อมูลลูกค้า variuos ใหม่บนนักเทียบท่าในเครื่อง เพื่อทดสอบฟังก์ชัน ERP ใหม่ในสภาพแวดล้อมการพัฒนา ดังนั้น ไฟล์ดัมพ์ของ PostgreSQL มักจะเริ่มต้นด้วย:

--
-- ดัมพ์ฐานข้อมูล PostgreSQL
--

-- ดัมพ์จากฐานข้อมูลเวอร์ชัน 13.3 (Ubuntu 13.3-1.pgdg20.04+1)
-- ดัมพ์โดย pg_dump เวอร์ชัน 13.3 (Debian 13.3-1.pgdg100+1)
...

นั่นเป็นสาเหตุที่สคริปต์ทุบตีของฉัน 'restorefromdump.sh' (สร้างนักเทียบท่าชั่วคราว ของเซิร์ฟเวอร์ postgresql รุ่นที่เหมาะสมสำหรับการจัดการไฟล์ดัมพ์) เริ่มต้นด้วย:

#!/bin/bash
DBDUMP=$1
DUMPFROM=$(grep "^-- ถูกทิ้ง*จาก" "$DBDUMP")
DUMPVERSION_inclSpaces=$(grep -o '^-- ทิ้งจาก.*(' "$DBDUMP" | grep -o -E '[0-9*.]+[^version]')
DUMPVERSION="$(echo -e "${DUMPVERSION_inclSpaces}" | tr -d '[:space:]')"
REMOTEPGVER=postgres:$DUMPVERSION
# เรียกใช้ฟังก์ชัน 'buildtmpdocker' เพื่อสร้างนักเทียบท่า postgres ชั่วคราว 
buildtmpdocker $REMOTEPGVER 
...

หลังจากคำสั่งโดยตรง './restorefromdump.sh *.dmp' ดูเหมือนว่าจะทำงานได้อย่างมีประสิทธิภาพ - รู้จักเวอร์ชันดัมพ์อย่างถูกต้อง แต่อาจจะมีวิธีที่ดีกว่า? คุณเคยรู้จักเวอร์ชันภายในไฟล์ดัมพ์ด้วยสคริปต์ Bash หรือไม่

muru avatar
us flag
regex `[0-9*.]+[^version]` ควรจะทำตามที่คุณคิดคืออะไร
Andrzej Więcławski avatar
de flag
พบตัวเลขก่อนสตริง 'รุ่น' - ตัวอย่าง: | ไฟล์ทดสอบ $ นาโน | เนื้อหา: 'asw123version' | หลังจากบันทึก 'ไฟล์ทดสอบ' | $ grep -o -E '[0-9*.]+[^version]' ไฟล์ทดสอบ | ผลลัพธ์: '123'
Andrzej Więcławski avatar
de flag
มันพบตัวเลขเท่านั้น :)
muru avatar
us flag
ฉันไม่รู้ว่าคุณคิดขึ้นมาได้อย่างไร แต่ไม่ใช่ นั่นไม่ใช่สิ่งที่ regex ทำ โดยจะมองหาตัวเลขอย่างน้อยหนึ่งตัว เช่น `*` หรือ `.` ตามด้วยสิ่งอื่นที่ไม่ใช่ตัวอักษร `e`, `i`, `n`, `o`, `r`, `s`, `v `.
Andrzej Więcławski avatar
de flag
สรุปคือ... คุณมีความคิดเห็นอย่างไร? วิธีของฉันผิดหรือเปล่าที่จะได้เป้าหมาย: จำนวนรุ่นของ PostgreSQL รวมถึงคะแนนด้วย

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา