iT邦幫忙

0

求解答 FIND NAMES STARTING WITH LETTER IN TXT

  • 分享至 

  • xImage

car.txt打開是這樣
Toyota
Honda
BMW
AUDI
Mercedes Benz

位置是這個C:\car123\car.txt

select start with letter "A", "B", "C" from car.txt
顯示的車名字用,分開

obarisk iT邦研究生 2 級 ‧ 2023-08-21 09:28:37 檢舉
直接用類似 q 的工具?
https://harelba.github.io/q/?ref=arctype.com

或是直接 grep ... 或是 powershell

grep:

```sh
grep <car.txt -i '^[A|B]'
```

powershell 有待善心人士
jeffeux iT邦新手 4 級 ‧ 2023-08-21 12:34:46 檢舉
根據 ChatGPT 這位善心人士
```powershell
Select-String -Path "car.txt" -Pattern "^[A|B|C]" -CaseSensitive
```

結果:
grep
![image](https://user-images.githubusercontent.com/43311603/261918738-6fd39f76-ac38-43de-8138-ab0f58a11419.png)

powershell
![image](https://user-images.githubusercontent.com/43311603/261918859-218921c9-0d17-44ee-9818-3ac6bd776c0e.png)
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
jeffeux
iT邦新手 4 級 ‧ 2023-08-21 12:43:06

根據上面的討論

Windows (Powershell):

(Select-String -Path "car.txt" -Pattern "[A|B|C]" -CaseSensitive).Line -join ","

Linux/Mac (shell):

grep '[A|B|C]' car.txt | tr '\n' ',' | sed 's/,$//' && echo
0
johnsonnnn
iT邦新手 4 級 ‧ 2023-08-22 13:27:36

看你的標籤應該是要使用Python

with open('C:\car123\car.txt', 'r') as f:
    result = list()
    for line in f.readlines():
        if line[0] in ['A', 'B', 'C']:
            result.append(line.strip())
print(','.join(result))

我要發表回答

立即登入回答