我有一個看起來像這樣的檔案(file.txt)
AYOsVS7Wknsgv2StRsEK JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
AYOsVS7yknsgv2StRsEL JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
AYOsVS8aknsgv2StRsEM JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
AYOsVS8hknsgv2StRsEN JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
AYOsVS8mknsgv2StRsEO JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
RondomText JBC-ChangeService-Test N/A Coverage(89.1%) JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
我必須洗掉最后一列中不需要的
[JamesPeter]字符JamesPeter
然后預期的輸出
AYOsVS7Wknsgv2StRsEK JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
AYOsVS7yknsgv2StRsEL JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
AYOsVS8aknsgv2StRsEM JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
AYOsVS8hknsgv2StRsEN JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
AYOsVS8mknsgv2StRsEO JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
RondomText JBC-ChangeService-Test N/A Coverage(89.1%) JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
這是我嘗試過的
sed 's/[//; s/]//' file.txt
然后輸出我得到
AYOsVS7Wknsgv2StRsEK JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
AYOsVS7yknsgv2StRsEL JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
AYOsVS8aknsgv2StRsEM JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
AYOsVS8hknsgv2StRsEN JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
AYOsVS8mknsgv2StRsEO JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
RondomTextJBC-ChangeService-Test N/A Coverage(89.1%) JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
有人可以幫我解決這個問題嗎?提前致謝!
注意:我不允許使用 jq 或通用腳本語言(JavaScript、Python 等)。
uj5u.com熱心網友回復:
如果[并且]確實只出現在最后一列,那么您可以洗掉所有內容[,并且]據我所知,使用tr它不屬于通用腳本語言,讓file.txt內容成為
AYOsVS7Wknsgv2StRsEK JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
AYOsVS7yknsgv2StRsEL JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
AYOsVS8aknsgv2StRsEM JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
AYOsVS8hknsgv2StRsEN JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
AYOsVS8mknsgv2StRsEO JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
RondomText JBC-ChangeService-Test N/A Coverage(89.1%) JBC 97 2022-10-11-10:23 [email protected] development [JamesPeter]
然后
tr -d '[]' < file.txt
給出輸出
AYOsVS7Wknsgv2StRsEK JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
AYOsVS7yknsgv2StRsEL JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
AYOsVS8aknsgv2StRsEM JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
AYOsVS8hknsgv2StRsEN JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
AYOsVS8mknsgv2StRsEO JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
RondomText JBC-ChangeService-Test N/A Coverage(89.1%) JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
說明:我file.txt輸入 的標準輸入tr,我指示洗掉以下字符:[, ].
但是,如果[and]可能出現在除 last 以外的列中,那么您可以AWK按照以下方式使用 GNU,讓file.txtcontent 成為
[HelloWorld] 1 [Name]
Hello 2 [Name]
World 3 [Name]
然后
awk 'BEGIN{FS="[[:space:]]"}{gsub(/\[|\]/,"",$NF);print}' file.txt
給出輸出
[HelloWorld] 1 Name
Hello 2 Name
World 3 Name
說明:我通知 GNUAWK欄位分隔符 ( FS) 是單個空白字符,然后對于每一行我全域(因此gsub)替換文字[或 ( |)使用空字串的文字,即在最后一個欄位 ( )]中洗掉它$NF
(在 gawk 4.2.1 中測驗)
uj5u.com熱心網友回復:
這sed應該可以替換輸入中的任何位置[:]
sed -E 's/[][]//g' file
AYOsVS7Wknsgv2StRsEK JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
AYOsVS7yknsgv2StRsEL JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
AYOsVS8aknsgv2StRsEM JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
AYOsVS8hknsgv2StRsEN JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
AYOsVS8mknsgv2StRsEO JBC-ChangeService-Test CODE_SMELL JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
RondomText JBC-ChangeService-Test N/A Coverage(89.1%) JBC 97 2022-10-11-10:23 [email protected] development JamesPeter
但是,如果您只想從最后一個欄位中洗掉[并使用:]
sed -E 's/\[([^]]*)\]$/\1/' file
uj5u.com熱心網友回復:
為什么不使用tr這個:
Prompt> cat file.txt | tr -d "[" | tr -d "]" >result.txt
-d開關洗掉提到的字符。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/515336.html
上一篇:什么命令用于在linux中創建或修改具有指定檔案大小的多個檔案
下一篇:如何從Jest測驗運行腳本?
