Если приостановленный процесс убит, то программа работает или нет?

Использование сценария оболочки:

#!/bin/sh

file1=./file_1
file2=./file_2

while read -r n; do
    v=$(awk -v n="$n" '$2 ~ n {print $1}' "$file1")
    printf '%s "%s"\n' "$v" "$n"
done <"$file2"

обратите внимание:это выведет весь вывод на стандартный вывод.

Будет прочитана каждая строка в file_2и установлено значение n. Затем он прочитает file_1и найдет строку, в которой значение nсуществует в столбце 2, и напечатает столбец 1, установив его в переменную v. Затем он напечатает nи vв нужном вам формате, который можно перенаправить по вашему желанию.


Чтобы создать файл:

#!/bin/sh

file1=./file_1
file2=./file_2

while read -r n; do
    v=$(awk -v n="$n" '$2 ~ n {print $1}' "$file1")
    printf '%s "%s"\n' "$v" "$n"
done <"$file2" > file_3

Однако, поскольку вы хотите добавить эти значения в file_2, вы можете просто перезаписать file_2на file_3, однако я рекомендую выполнить вышеуказанное перед этим, чтобы убедиться, что он дает правильные результаты. Также не помешает сделать резервную копию file_1и file_2перед внесением каких-либо изменений.

#!/bin/sh

file1=./file_1
file2=./file_2

while read -r n; do
    v=$(awk -v n="$n" '$2 ~ n {print $1}' "$file1")
    printf '%s "%s"\n' "$v" "$n"
done <"$file2" > file_3

mv file_3 "$file2"
0
17.09.2021, 17:22
0 ответов

Теги

Похожие вопросы