[英]Replace specific rows with values from another text file in shell scripting?
[英]How to delete the rows from one file having the particular column text in other file through shell scripting?
情況:我們在服務器上的不同路徑中有兩個文件。 一個文件,即FILE A位於拒絕文件夾中,另一個FILE B位於存檔文件夾中。 我們正在從拒絕文件夾中讀取文件A,並在文本“ ITEM:”之后選擇單詞,然后在文件B中搜索它。如果找到了,那么我必須從文件B中刪除具有該單詞的整個行。
檔案A:
hi my name is himansh agarwal.
My employee id is x56723
I live in Banaglore
I have an ITEM: WORDPRESS
文件B:
Hi My name is joseph.
i live in miami.
I dont go to office
I dont have an WORDPRESS.
i am very hungry.
I love to go out.
文件B應該重命名為文件B_1,並且其中的文本不應包含具有WORDPRESS文本的行。 文件B:
Hi My name is joseph.
i live in miami.
I dont go to office
i am very hungry.
I love to go out.
您可以使用awk選擇文本:
awk '$0 ~ /ITEM: / { sub(/^.*ITEM: /,"",$0); print $0; }' file_a
您可以使用grep -v
從文件中排除一行
grep -v WORDPRESS file_b
您可以使用命令替換將一個命令的結果作為參數提供給第二個命令:
grep -v "$(echo WORDPRESS)" file_b
您可以將命令的結果輸出到文件:
echo Test > file_b2
這給出:
grep -v "$(awk '$0 ~ /ITEM: / { sub(/^.*ITEM: /,"",$0); print $0; }' file_a)" file_b > file_b_1
(這假設輸出是文件B_1,而不是文件B。可以使用一些mv
命令來實現文件B)
(您可以使用文件名中的空格來做到這一點,然后到處都是文件名)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.