diff --git a/import/mglogs2cypherl.sh b/import/mglogs2cypherl.sh new file mode 100755 index 000000000..0312cbf8d --- /dev/null +++ b/import/mglogs2cypherl.sh @@ -0,0 +1,26 @@ +#!/bin/bash -e +COLOR_ORANGE="\e[38;5;208m" +COLOR_GREEN="\e[38;5;35m" +COLOR_RED="\e[0;31m" +COLOR_NULL="\e[0m" + +print_help() { + echo -e "${COLOR_ORANGE}HOW TO RUN:${COLOR_NULL} $0 memgraph_logs_file_path cypherl_output_path" + exit 1 +} + +if [ "$#" -ne 2 ]; then + print_help +fi +INPUT="$1" +OUTPUT="$2" +if [ ! -f "$INPUT" ]; then + echo -e "${COLOR_RED}ERROR:${COLOR_NULL} memgraph_logs_file_path is not a file!" + print_help +fi + +awk -v RS="Run] '" 'NR>1 { print $0 }' < "$INPUT" | sed -e "/^\[/d;" -e "s/'\([^']*\)$/;/g" > "$OUTPUT" + +echo -e "${COLOR_GREEN}DONE!${COLOR_NULL} Please find Memgraph compatible cypherl file under $OUTPUT" +echo "" +echo "Import can be done by executing => \`cat $OUTPUT | mgconsole\`" diff --git a/import/n2mg_cypherl.sh b/import/n2mg_cypherl.sh new file mode 100755 index 000000000..b11f5d3e3 --- /dev/null +++ b/import/n2mg_cypherl.sh @@ -0,0 +1,35 @@ +#!/bin/bash -e +COLOR_ORANGE="\e[38;5;208m" +COLOR_GREEN="\e[38;5;35m" +COLOR_RED="\e[0;31m" +COLOR_NULL="\e[0m" + +print_help() { + echo -e "${COLOR_ORANGE}HOW TO RUN:${COLOR_NULL} $0 input_file_path output_file_path" + exit 1 +} + +if [ "$#" -ne 2 ]; then + print_help +fi +INPUT="$1" +OUTPUT="$2" +if [ ! -f "$INPUT" ]; then + echo -e "${COLOR_RED}ERROR:${COLOR_NULL} input_file_path is not a file!" + print_help +fi + +echo -e "${COLOR_ORANGE}NOTE:${COLOR_NULL} BEGIN and COMMIT are required because variables share the same name (e.g. row)" +echo -e "${COLOR_ORANGE}NOTE:${COLOR_NULL} CONSTRAINTS are just skipped -> ${COLOR_RED}please create consraints manually if needed${COLOR_NULL}" + +sed -e 's/^:begin/BEGIN/g; s/^BEGIN$/BEGIN;/g;' \ + -e 's/^:commit/COMMIT/g; s/^COMMIT$/COMMIT;/g;' \ + -e '/^CALL/d; /^SCHEMA AWAIT/d;' \ + -e 's/CREATE RANGE INDEX FOR (n:/CREATE INDEX ON :/g;' \ + -e 's/) ON (n./(/g;' \ + -e '/^CREATE CONSTRAINT/d; /^DROP CONSTRAINT/d;' "$INPUT" > "$OUTPUT" + +echo "" +echo -e "${COLOR_GREEN}DONE!${COLOR_NULL} Please find Memgraph compatible cypherl|.cypher file under $OUTPUT" +echo "" +echo "Please import data by executing => \`cat $OUTPUT | mgconsole\`"