AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-341733

user3901666's questions

Martin Hope
user3901666
Asked: 2019-11-19 02:33:24 +0800 CST

从查找和删除中排除隐藏目录

  • 0

我正在研究一个清除逻辑,我需要删除超过 7 天的日志。

现在日志有两种类型:1)以 developer_ 开头,2)以 _c 结尾

我关心的日志仅/NAS/logs在此路径中的任何其他子文件夹之后而不是之后。

以下是日志示例:

/NAS/logs/.snapshot/Enterprise_Primary.2019-11-17_1300/developer_score_20191113.log
/NAS/logs/.snapshot/Enterprise_Primary.2019-11-17_1300/trdcvf_03_00_c.log.20191113163858
/NAS/logs/trddffgc004_00_c.log.20191118030038
/NAS/logs/developer_run_score.log.20191118030039

在这里,我想排除隐藏文件夹 .snapshot 中的所有日志,因为我无权访问这些日志。

我正在尝试使用以下命令识别它们,但它也不断给我 .snapshot 文件。

我也尝试了 -prune 选项,但没有帮助。

  find /NAS/logs/  -mindepth 1 -type f  \( -iname "*_c.log.*" -or -iname "developer_run_*"  \) -not -path "./.snapshot/*"

最终命令

find /NAS/logs/  -mindepth 1 -type f  \( -iname "*_c.log.*" -or -iname "developer_run_*"  \) -not -path "./.snapshot/*"-mtime +7 -delete

谁能帮我从查找中排除该目录?

shell-script
  • 2 个回答
  • 909 Views
Martin Hope
user3901666
Asked: 2019-11-07 22:32:00 +0800 CST

每个月最后一个星期六的 Cron 条目

  • 3

我想把我的剧本安排在每个月的最后一个星期六。我想出了以下内容:

45 23 22-28 * *  test $(date +\%u) -eq 6 && echo "4th Saturday"  && sh  /folder/script.sh 

这是正确的还是我需要改变它?我现在无法测试它,因为它只会在上周六被调用。请指教。

我每个月的最后一个星期日都有以下内容,但我不能理解很多。第一部分给出 24 是星期天,在 -eq 之后给出 7 我不知道这是什么意思:

00 17  * * 0 [ $(cal -s | tail -2 | awk '{print $1}') -eq $(date | awk '{print $3}') ] && /folder/script.sh

我可以修改以上内容以获得上周六吗?

在罗密欧的帮助下,我得到了以下答案:

00 17 * * 6 [ $(cal -s | tail -2 | awk '{print $7}') -eq $(date | awk '{print $3}') ] && /folder/script.sh
cron
  • 3 个回答
  • 2854 Views
Martin Hope
user3901666
Asked: 2019-10-10 22:14:14 +0800 CST

删除 MS EXCEL CSV 文件末尾的空行

  • 1

我在一个路径中有大约 300 个 CSV 文件位置。这些文件名有 3 个不同的类别*_PROD.csv,即*_DEV.csv和*_UAT.csv.

这些文件有许多空白行(大约 1000 行),当它们被进程复制到路径时,这些空白行被插入到记录的末尾。

我想从所有这些文件中删除空行。删除空格后,我必须对这些文件执行合并。

我试过这个:

sed -i '/^$/d' ${File_Path}*_PROD.csv
sed -i '/^$/d' ${File_Path}*_DEV.csv
sed -i '/^$/d' ${File_Path}*_UAT.csv

但这并没有按预期工作。

我希望文件保持不变,因为一旦从末尾删除空白行,我就必须执行其他操作。

请建议。

我的脚本供参考:

File_Path=/File_Path

dos2unix ${File_Path}*_PROD.csv
dos2unix ${File_Path}*_DEV.csv
dos2unix ${File_Path}*_UAT.csv



sed -i '/^\s*$/d' ${File_Path}*_PROD.csv
sed -i '/^\s*$/d' ${File_Path}*_DEV.csv
sed -i '/^\s*$/d' ${File_Path}*_UAT.csv

awk '(NR == 1) || (FNR > 1)' ${File_Path}*PROD.csv > Merged_PROD.csv
awk '(NR == 1) || (FNR > 1)' ${File_Path}*_DEV.csv > Merged_DEV.csv
awk '(NR == 1) || (FNR > 1)'  ${File_Path}*_UAT.csv > Merged_UAT.csv
shell-script
  • 3 个回答
  • 1217 Views
Martin Hope
user3901666
Asked: 2019-09-17 04:38:04 +0800 CST

合并多个不同模式的csv文件

  • 0

我有一个目录,其中有许多具有以下 3 种模式的 csv 文件:STRUCTURED_PROD、STRUCTURED_NON_PROD 和 UNSTRUCTURED。我想将所有这些合并到 3 个单独的文件中,只有一个标题。正常的猫方法也是复制标题,所以我尝试如下:

UNSTRUCTURED 在顶部有一个额外的垃圾线。下面是我的脚本,但只运行 6 个文件需要很长时间。

File_Path=/Source/temp/
for Files in $File_Path/*.csv; do

if [[ "$Files" = *STRUCTURED_PROD* ]]; then
#cat *STRUCTURED_PROD.csv > Merged_STRUCTURED_PROD.csv
awk '(NR == 1) || (FNR > 1)' *STRUCTURED_PROD.csv > Merged_STRUCTURED_PROD.csv
fi

if [[ "$Files" = *STRUCTURED_NON_PROD* ]]; then

awk '(NR == 1) || (FNR > 1)' *STRUCTURED_NON_PROD.csv > Merged_STRUCTURED_NON_PROD.csv
fi

if [[ "$Files" = *_UNSTRUCTURED* ]]; then
awk 'FNR>2 || NR==2' *_UNSTRUCTURED.csv > Merged_UNSTRUCTURED.csv
fi

done

早些时候我试过这个而不是 awk 但它复制了两次标题:

cat *STRUCTURED_PROD.csv > Merged_STRUCTURED_PROD.csv
shell-script
  • 1 个回答
  • 65 Views
Martin Hope
user3901666
Asked: 2019-09-17 02:24:12 +0800 CST

从 csv 中删除顶行,然后合并

  • 1

我在一个位置有多个类似的 csv 文件。我必须将这些文件合并到一个文件中。但问题是我的 csv 文件在标题顶部多了一行。我想删除该行,然后合并 csv。

我知道当顶部没有多余的线时,我可以做类似下面的事情。

cat *UNSTRUCTURED.csv > Merged_UNSTRUCTURED.csv

但挑战是我如何删除那条顶线。此外,所有文件名都将具有类似 UNSTRUCTURED 的模式。

在此处输入图像描述

shell-script
  • 1 个回答
  • 2231 Views
Martin Hope
user3901666
Asked: 2019-09-16 21:59:58 +0800 CST

压缩并归档到其他目录

  • 1

我在传入目录中有大约 250 个 CSV 源文件。

我的任务是合并这些 CSV 文件并生成一个类似Merge_. 然后,Informatica 作业将选择合并文件作为源并开始工作。

现在合并部分得到处理。我希望在/source/archive生成合并文件后立即将所有 CSV 文件压缩并存档到另一个目录。

另外,我希望Merge_文件保持原样不变。

我知道如何分别 zip 和 tar,但不确定如何将两者结合起来并移动到其他目录。

我正在尝试使用这样的东西,但它不起作用:

tar -czvf All_Files.tar.gz *.csv  /Source/Archive --remove-files --exclude Merge_file_1.csv, Merge_File_2.csv

期待它 tar 和 zip 然后将文件移动到 /source/archive 并删除除合并文件之外的原始文件

shell-script
  • 1 个回答
  • 244 Views
Martin Hope
user3901666
Asked: 2019-09-06 00:23:54 +0800 CST

将值传递给脚本的 Cron 条目

  • 0

我有一个脚本(main.sh),它调用另一个脚本(Get_Files.sh)并在如下变量中获取一个值:

File_to_Refresh="$(sh /Aug/work/Get_Files.sh /Aug/Work/Universal_File.txt)"

现在我必须为 3 个不同的文件安排脚本 main.sh,即具有 3 个不同值的 Universal_File.txt 和 3 个不同的日期。

因此,为了使脚本通用,我只想将通用文件从 Cron 条目传递给 Get_Files.sh。

我怎样才能达到同样的效果?

如果我像 sh /Aug/Work/main.sh /Aug/Work/Universal_File.txt 一样手动运行脚本,则下面是有效的,但是当我通过 cron 运行它时它不起作用。

File_to_Refresh="$(sh /Aug/work/Get_Files.sh "$1")"

克朗:

45 08 * * * sh /Aug/Work/main.sh /Aug/Work/Universal_File.txt
shell-script cron
  • 1 个回答
  • 643 Views
Martin Hope
user3901666
Asked: 2019-09-04 02:37:23 +0800 CST

在另一个脚本中运行一个脚本

  • 2

我正在尝试在另一个脚本中运行一个脚本,如下所示:

$a="$(sh test_part.sh /AB/pass_file.txt)"
echo $a

现在sh test_part.sh /AB/pass_file.txt返回如下输出:

ABD
SDFDR
TDFDG
DGFKFH

我想将它按原样存储在变量$a中。使用我当前的脚本,我遇到以下错误:

test_part.sh: line 2: $'=ABD\nSDFDR\nTDFDG\nDGFKFH': command not found
scripting
  • 1 个回答
  • 274 Views
Martin Hope
user3901666
Asked: 2019-08-31 01:16:44 +0800 CST

在第一个变量之后将变量的值合并为一个新行

  • 0

我有以下两个变量: $var1 具有类似的值

ABC
XYZ
SDF

和 $var 2 具有类似的值

SDF
SGDGH
hfg

我想要像这样的输出

ABC
XYZ
SDF
SDF
SGDGH
hfg

我有以下脚本,我想将 file_import_2 和 file_import_3 的值合并为一个。

    file_import_2=""
    file_import_3=""
    for DataBase in $(< "$1"); do

    file_import_1=`grep -iw "CRQ_DI_PROD_$DataBase" "$Import_List_File" | grep -i prod`;
    if [[ "$file_import_1" = GDH_* ]]; then
    file_import_2=$file_import_1

    fi
    if [[ "$file_import_1" != GDH_* ]]; then
    file_import_3=$DataBase
    fi

var3=$(printf '%s\n%s\n' "$file_import_2" "$file_import_3")
echo $var3

    done

我传递给脚本的文件和 Import_List_File 各有 4 个值

FARP_DATA_111
TRIN_STAGING
DBH
PRS

使用 print f 解决方案,输出为:

CRQ_DI_PROD_FARP_DATA_111
CRQ_DI_PROD_TRIN_STAGING
CRQ_DI_PROD_TRIN_STAGING DBH
CRQ_DI_PROD_TRIN_STAGING PRS
merge
  • 1 个回答
  • 237 Views
Martin Hope
user3901666
Asked: 2019-08-16 20:51:35 +0800 CST

CRON 作业计划问题

  • 0

我想在每个月的第三个星期五凌晨 1 点安排一份工作。我检查了几个 cron 入口网站,这些网站对我不起作用。

到目前为止,我还在检查一些 awk 选项,但没有成功。你们能帮我吗?

我今天尝试运行这个 cron 工作正常,但脚本在同一点连续运行并且没有完成:

0 1 15-21 * * test $(date +\%u) -eq 5 && echo "3rd friday" && Extract_Param.sh /landing/file/ABC/file.txt 
cron scheduling
  • 1 个回答
  • 81 Views
Martin Hope
user3901666
Asked: 2019-08-14 20:59:38 +0800 CST

在运行时将 txt 文件作为参数传递给脚本

  • -1

我有一个脚本如下

    for File in $(cat $IMPORT_PATH/*.txt); do
         echo `date +'%m-%d-%Y %H:%M:%S'` "starting $File execute" > $Import_Success_Log
        ./cli.sh -a execute -i IPROD_$File -fn formrnt -user -password>> $Import_Success_Log
         echo `date +'%m-%d-%Y %H:%M:%S'` "$File execute completed" >> $Import_Success_Log
    done

    ./cli.sh -authfile "$AuthFile" -a list -t area -nof > $Import_List_File


for File in $(cat $IMPORT_PATH/*.txt); do
     imp_area=`grep -iw "PRD_$File" "$IGC_Import_List_File" | grep -i prod`;

           ##Testing if imp_area variable has a value
    if [ -z "$imp_area" ]; then
       echo "- $DataBase Imp Area is not present .Please create." >> $Import_Failure_Log
     else
          Preview=`grep -iB 3 "The admin setting require" $Import_Success_Log |head -1 | awk '{print $4}'`;
      Error=`grep -i error $Import_Success_Log`;
      No_Import=`grep -i "does not exist" $Import_Success_Log`;
         if [ -z "$Preview" -a -z "$Error" -a -z "$No_Import" ];then
        echo "<li> $DataBase </li>" >> $DB_Import_Complete
     else
        echo "- $Prev is not imported as this database require a preview.  >> $Import_Failure_Log
       fi
        fi
done

此脚本检查特定路径中的 txt 文件并执行特定命令。

现在,由于该路径中可能有许多 txt 文件,所以每次我必须将其他文件重命名为 .txt 以外的文件。

出于这个原因,我想将 txt 文件作为变量/参数传递给脚本。

如下所示:sh script.sh abc.txt。

示例文件内容:File.txt

SQL_SEVRER_ACCOUNT
Customer_DB
Customer_support_DB
Account_DB

或在计划脚本时作为 crontab 条目的参数。

我是脚本新手,对此没有太多想法。

shell-script arguments
  • 2 个回答
  • 132 Views
Martin Hope
user3901666
Asked: 2019-03-15 01:43:03 +0800 CST

unix 中 nohup 命令的退出代码问题

  • 1

我一直在试图弄清楚如何捕获 nohup 命令的退出状态,然后根据状态发送邮件。

下面是我的代码:

if [[ "" !=  "$PID" ]]; then
    echo "killing $PID"
    kill -9 $PID
    nohup java -jar Xyz-port-0.0.1.jar &
    << Exit Code and then send mail if Exit 
      code is 0>>
    else 
    echo "Process doesn't exist"
    fi
linux shell-script
  • 3 个回答
  • 5096 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve