как выполнить grep из нескольких файлов в файл

Чтобы решить конкретный случай, который вы упомянули о пути, вам не нужно использовать сложный «порядок переключения», вам потребуется управление недавней историей пути, такое как fzf для нечеткой истории поиска. Zsh archwiki должен упомянуть о каталогах,Вы должны проверить это.

Я обнаружил, что очень часто я захожу на путь, а затем мне нужно выполнить какие-то действия над чем-то внутри этого пути, который в настоящее время находится вне пути. Управление историей пути повысит эффективность, как в случае с fzf.

0
05.12.2019, 15:35
1 ответ

Ряд команд может быть помещен в файл BASHдля выполнения того, что вы здесь предлагаете. Поскольку ваш выбор критериев кажется очень индивидуальным и не следует очевидной логике, вам, вероятно, придется явно хранить каждую переменную. Вот пример, предполагающий, что File1 буквально содержит текстовый файл с одной строкой, которая выглядит примерно так:

123456789, 1, 10, 12345

, что соответствует msisdn, channel, transid, time1 и т. д., разделенным запятыми. Пример того, как вы можете получить нужные значения в скрипте BASHс помощью awk(grep, здесь не особенно полезен ), как показано ниже:

#!/usr/bin/bash

# Define the filenames
File1='filename_of_file1.txt'
File2='filename_of_file2.txt'
File3='filename_of_file3.txt'
OutputFile='filename_of_output_file.txt'

# Grab the Nth column in each respective file
msisdn=$(awk -F, '{print $1}' $File1
channel=$(awk -F, '{print $2}' $File1
transid1=$(awk -F, '{print $3}' $File1
time1=$(awk -F, '{print $4}' $File1
transid2=$(awk -F, '{print $1}' $File2
...
...

# Calculate the difference between certain variables
duration1=$(echo ${time2}-${time1} | bc)
duration2=$(echo ${time4}-${time3} | bc)
...
...

# Return the formatted string to an output file
echo "${msisdn}|${channel}|${transid}..." > $OutputFile

Очевидно, что это неполные (все разделы, помеченные...). Тем не менее, он должен, по крайней мере, показать шаблон того, как можно подойти к этой проблеме очень явным и конкретным образом.

0
28.01.2020, 03:03

Теги

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